Пример #1
0
			void CPipelineState::SetIndexBuffer(SharedPointer<IIndexBuffer> inIndexBuffer)
			{
				IndexBuffer = std::dynamic_pointer_cast<CIndexBuffer>(inIndexBuffer);
				Window->MakeContextCurrent();
				SafeGLCall(glBindVertexArray, (VertexArrayHandle));
				SafeGLCall(glBindBuffer, (GL_ELEMENT_ARRAY_BUFFER, IndexBuffer->Handle));
				SafeGLCall(glBindVertexArray, (0));

				Loaded = false;
			}
			SharedPointer<IPipelineState> CGraphicsContext::CreatePipelineState()
			{
				SharedPointer<CPipelineState> PipelineState = MakeShared<GL::CPipelineState>(Window);
				Window->MakeContextCurrent();
				SafeGLCall(glGenVertexArrays, (1, & PipelineState->VertexArrayHandle));
				return PipelineState;
			}