MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / iCameraSetFogRenderStates

Function iCameraSetFogRenderStates

src/SB/Core/x/iCamera.cpp:303–331  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

301}
302
303void iCameraSetFogRenderStates()
304{
305 RwCamera* pCamera;
306 iFogParams* pFogParams;
307 U32 bite_me;
308
309 pCamera = RwCameraGetCurrentCamera();
310 pFogParams = &xglobals->fog;
311
312 if (pFogParams->type == rwFOGTYPENAFOGTYPE)
313 {
314 RwRenderStateSet(rwRENDERSTATEFOGENABLE, (void*)FALSE);
315
316 RwCameraSetFarClipPlane(pCamera, sCameraFarClip);
317 }
318 else
319 {
320 bite_me = (pFogParams->fogcolor.alpha << 24) | (pFogParams->fogcolor.red << 16) |
321 (pFogParams->fogcolor.green << 8) | pFogParams->fogcolor.blue;
322
323 RwRenderStateSet(rwRENDERSTATEFOGENABLE, (void*)TRUE);
324 RwRenderStateSet(rwRENDERSTATEFOGTYPE, (void*)pFogParams->type);
325 RwRenderStateSet(rwRENDERSTATEFOGCOLOR, (void*)bite_me);
326 RwRenderStateSet(rwRENDERSTATEFOGDENSITY, (void*)&pFogParams->density);
327
328 RwCameraSetFogDistance(pCamera, pFogParams->start);
329 RwCameraSetFarClipPlane(pCamera, pFogParams->stop);
330 }
331}

Callers 3

zRenderStateFunction · 0.50

Calls

no outgoing calls

Tested by

no test coverage detected