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

Method Render

Rendering/Parallel/vtkClientServerCompositePass.cxx:48–105  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

46
47//------------------------------------------------------------------------------
48void vtkClientServerCompositePass::Render(const vtkRenderState* s)
49{
50 if (!this->ServerSideRendering || this->ProcessIsServer)
51 {
52 if (this->RenderPass)
53 {
54 this->RenderPass->Render(s);
55 }
56 else
57 {
58 vtkWarningMacro("No render pass set.");
59 }
60 }
61
62 if (this->ServerSideRendering)
63 {
64 if (!this->Controller)
65 {
66 vtkErrorMacro("Cannot do remote rendering with a controller.");
67 }
68 else if (this->ProcessIsServer)
69 {
70 // server.
71 vtkSynchronizedRenderers::vtkRawImage rawImage;
72 rawImage.Capture(s->GetRenderer());
73 int header[4];
74 header[0] = rawImage.IsValid() ? 1 : 0;
75 header[1] = rawImage.GetWidth();
76 header[2] = rawImage.GetHeight();
77 header[3] = rawImage.IsValid() ? rawImage.GetRawPtr()->GetNumberOfComponents() : 0;
78 // send the image to the client.
79 this->Controller->Send(header, 4, 1, 0x023430);
80 if (rawImage.IsValid())
81 {
82 this->Controller->Send(rawImage.GetRawPtr(), 1, 0x023430);
83 }
84 }
85 else
86 {
87 // client.
88 vtkSynchronizedRenderers::vtkRawImage rawImage;
89 int header[4];
90 this->Controller->Receive(header, 4, 1, 0x023430);
91 if (header[0] > 0)
92 {
93 rawImage.Resize(header[1], header[2], header[3]);
94 this->Controller->Receive(rawImage.GetRawPtr(), 1, 0x023430);
95 rawImage.MarkValid();
96 }
97 rawImage.PushToViewport(s->GetRenderer());
98 }
99 }
100
101 if (this->PostProcessingRenderPass)
102 {
103 this->PostProcessingRenderPass->Render(s);
104 }
105}

Callers

nothing calls this directly

Calls 12

CaptureMethod · 0.80
MarkValidMethod · 0.80
PushToViewportMethod · 0.80
RenderMethod · 0.65
GetRendererMethod · 0.45
IsValidMethod · 0.45
GetWidthMethod · 0.45
GetHeightMethod · 0.45
GetNumberOfComponentsMethod · 0.45
SendMethod · 0.45
ReceiveMethod · 0.45
ResizeMethod · 0.45

Tested by

no test coverage detected