MCPcopy Create free account
hub / github.com/Kitware/VTK / ReadyShaderProgram

Method ReadyShaderProgram

Rendering/OpenGL2/vtkDrawTexturedElements.cxx:196–215  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

194}
195
196void vtkDrawTexturedElements::ReadyShaderProgram(vtkRenderer* ren)
197{
198 auto* renderWindow = vtkOpenGLRenderWindow::SafeDownCast(ren->GetRenderWindow());
199 if (!renderWindow)
200 {
201 vtkWarningWithObjectMacro(ren, "Renderer has no OpenGL render-window.");
202 return;
203 }
204 bool lastSyncGLSLVersionDisabled = !renderWindow->GetShaderCache()->GetSyncGLSLShaderVersion();
205 if (this->ElementType == AbstractPatches && lastSyncGLSLVersionDisabled)
206 {
207 renderWindow->GetShaderCache()->SyncGLSLShaderVersionOn();
208 }
209 this->ShaderProgram = renderWindow->GetShaderCache()->ReadyShaderProgram(this->Shaders);
210 if (lastSyncGLSLVersionDisabled)
211 {
212 renderWindow->GetShaderCache()->SyncGLSLShaderVersionOff();
213 }
214 vtkOpenGLStaticCheckErrorMacro("Failed readying shader program");
215}
216
217void vtkDrawTexturedElements::ReportUnsupportedLineWidth(
218 float width, float maxWidth, vtkMapper* mapper)

Callers 1

DrawInstancedElementsMethod · 0.95

Calls 2

GetShaderCacheMethod · 0.80
GetRenderWindowMethod · 0.45

Tested by

no test coverage detected