public void Generate(RenderManager renderMgr, Scene scene, Vector3 position, ref Cubemap cubemap) { mCamera.Transform.LocalPosition = position; mCamera.Transform.LocalRotation = Quaternion.Identity; for (int i = 0; i < 6; i++) { mCamera.Transform.LocalRotation = Quaternion.FromEulerAngles(mCamRotations[i]); mFrameBuffer[i].Bind(); renderMgr.Render(scene, mCamera, mFrameBuffer[i].Width, mFrameBuffer[i].Height); mFrameBuffer[i].Unbind(); } cubemap.SetTexture(CubemapFace.Left, mFrameBuffer[1].Texture); cubemap.SetTexture(CubemapFace.Right, mFrameBuffer[3].Texture); cubemap.SetTexture(CubemapFace.Front, mFrameBuffer[2].Texture); cubemap.SetTexture(CubemapFace.Back, mFrameBuffer[0].Texture); cubemap.SetTexture(CubemapFace.Top, mFrameBuffer[5].Texture); cubemap.SetTexture(CubemapFace.Bottom, mFrameBuffer[4].Texture); cubemap.GenerateMipmaps(); cubemap.TextureRight = mFrameBuffer[1].Texture; cubemap.TextureLeft = mFrameBuffer[3].Texture; cubemap.TextureBack = mFrameBuffer[2].Texture; cubemap.TextureFront = mFrameBuffer[0].Texture; cubemap.TextureTop = mFrameBuffer[5].Texture; cubemap.TextureBottom = mFrameBuffer[4].Texture; }
public void Generate(RenderManager renderMgr, Scene scene, Vector3 position, ref Cubemap cubemap) { mCamera.Transform.LocalPosition = position; mCamera.Transform.LocalRotation = Quaternion.Identity; for (int i = 0; i < 6; i++) { mCamera.Transform.LocalRotation = Quaternion.FromEulerAngles(mCamRotations[i]); mFrameBuffer.Bind(); renderMgr.RenderScene(scene, mCamera, mFrameBuffer.Width, mFrameBuffer.Height); mFrameBuffer.Unbind(); cubemap.SetTexture((CubemapFace)i, mFrameBuffer.Texture); } cubemap.GenerateMipmaps(); }