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

Method SetCameraShaderParameters

Rendering/OpenGL2/vtkOpenGLPointGaussianMapper.cxx:207–243  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

205
206//------------------------------------------------------------------------------
207void vtkOpenGLPointGaussianMapperHelper::SetCameraShaderParameters(
208 vtkOpenGLHelper& cellBO, vtkRenderer* ren, vtkActor* actor)
209{
210 if (this->UsingPoints)
211 {
212 this->Superclass::SetCameraShaderParameters(cellBO, ren, actor);
213 }
214 else
215 {
216 vtkShaderProgram* program = cellBO.Program;
217
218 vtkOpenGLCamera* cam = (vtkOpenGLCamera*)(ren->GetActiveCamera());
219
220 vtkMatrix4x4* wcdc;
221 vtkMatrix4x4* wcvc;
222 vtkMatrix3x3* norms;
223 vtkMatrix4x4* vcdc;
224 cam->GetKeyMatrices(ren, wcvc, norms, vcdc, wcdc);
225 program->SetUniformMatrix("VCDCMatrix", vcdc);
226
227 if (!actor->GetIsIdentity())
228 {
229 vtkMatrix4x4* mcwc;
230 vtkMatrix3x3* anorms;
231 ((vtkOpenGLActor*)actor)->GetKeyMatrices(mcwc, anorms);
232 vtkMatrix4x4::Multiply4x4(mcwc, wcvc, this->TempMatrix4);
233 program->SetUniformMatrix("MCVCMatrix", this->TempMatrix4);
234 }
235 else
236 {
237 program->SetUniformMatrix("MCVCMatrix", wcvc);
238 }
239
240 // add in uniforms for parallel and distance
241 cellBO.Program->SetUniformi("cameraParallel", cam->GetParallelProjection());
242 }
243}
244
245//------------------------------------------------------------------------------
246void vtkOpenGLPointGaussianMapperHelper::SetMapperShaderParameters(

Callers

nothing calls this directly

Calls 4

GetActiveCameraMethod · 0.80
GetKeyMatricesMethod · 0.45
SetUniformMatrixMethod · 0.45
SetUniformiMethod · 0.45

Tested by

no test coverage detected