MCPcopy Create free account
hub / github.com/beefytech/Beef / PhysSetRenderState

Method PhysSetRenderState

BeefySysLib/platform/sdl/GLRenderDevice.cpp:718–750  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

716}
717
718void GLRenderDevice::PhysSetRenderState(RenderState* renderState)
719{
720 mCurShader = (GLShader*)renderState->mShader;
721 if (mCurShader != NULL)
722 {
723 bf_glUseProgram(mCurShader->mGLProgram);
724
725 GLRenderDevice* aRenderDevice = (GLRenderDevice*)gBFApp->mRenderDevice;
726
727 //TODO: Cache more
728
729 GLfloat matrix[4][4];
730 CreateOrthographicOffCenter(0.0f, (float)mPhysRenderWindow->mWidth, (float)mPhysRenderWindow->mHeight, 0.0f, -100.0f, 100.0f, matrix);
731 GLint matrixLoc = bf_glGetUniformLocation(mCurShader->mGLProgram, "screenMatrix");
732 //BF_ASSERT(matrixLoc >= 0);
733 if (matrixLoc >= 0)
734 bf_glUniformMatrix4fv(matrixLoc, 1, false, (float*)matrix);
735 }
736
737 if (renderState->mClipped)
738 {
739 glEnable(GL_SCISSOR_TEST);
740 glScissor((GLsizei)renderState->mClipRect.mX,
741 mPhysRenderWindow->mHeight - (GLsizei)renderState->mClipRect.mY - (GLsizei)renderState->mClipRect.mHeight,
742 (GLsizei)renderState->mClipRect.mWidth, (GLsizei)renderState->mClipRect.mHeight);
743 }
744 else
745 {
746 glDisable(GL_SCISSOR_TEST);
747 }
748
749 mPhysRenderState = renderState;
750}
751
752Texture* GLRenderDevice::CreateRenderTarget(int width, int height, bool destAlpha)
753{

Callers 1

RenderMethod · 0.45

Calls 1

Tested by

no test coverage detected