Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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();
        }