@@ -160,12 +160,20 @@ int main(int argc, const char **argv)
160
160
if (backgroundPathCstr) {
161
161
backgroundPath = backgroundPathCstr;
162
162
}
163
+ const std::string objectName = " object" ;
164
+
165
+ // ! [Renderer set]
163
166
vpPanda3DRenderParameters renderParams (vpCameraParameters (300 , 300 , 160 , 120 ), 240 , 320 , 0.01 , 10.0 );
164
167
vpPanda3DRendererSet renderer (renderParams);
165
168
renderer.setRenderParameters (renderParams);
169
+ renderer.setVerticalSyncEnabled (false );
170
+ renderer.setAbortOnPandaError (true );
171
+ if (debug) {
172
+ renderer.enableDebugLog ();
173
+ }
174
+ // ! [Renderer set]
166
175
167
- const std::string objectName = " object" ;
168
-
176
+ // ! [Subrenderers init]
169
177
std::shared_ptr<vpPanda3DGeometryRenderer> geometryRenderer =
170
178
std::make_shared<vpPanda3DGeometryRenderer>(vpPanda3DGeometryRenderer::vpRenderType::OBJECT_NORMALS);
171
179
std::shared_ptr<vpPanda3DGeometryRenderer> cameraRenderer =
@@ -180,8 +188,9 @@ int main(int argc, const char **argv)
180
188
std::make_shared<vpPanda3DGaussianBlur>(" blur" , grayscaleFilter, false );
181
189
std::shared_ptr<vpPanda3DCanny> cannyFilter =
182
190
std::make_shared<vpPanda3DCanny>(" canny" , blurFilter, true , 10 .f );
191
+ // ! [Subrenderers]
183
192
184
-
193
+ // ! [Adding subrenderers]
185
194
renderer.addSubRenderer (geometryRenderer);
186
195
renderer.addSubRenderer (cameraRenderer);
187
196
renderer.addSubRenderer (rgbRenderer);
@@ -192,23 +201,13 @@ int main(int argc, const char **argv)
192
201
renderer.addSubRenderer (grayscaleFilter);
193
202
renderer.addSubRenderer (blurFilter);
194
203
renderer.addSubRenderer (cannyFilter);
195
-
196
- }
197
-
198
- renderer.setVerticalSyncEnabled (false );
199
- renderer.setAbortOnPandaError (true );
200
- if (debug) {
201
- renderer.enableDebugLog ();
202
204
}
203
-
204
-
205
205
std::cout << " Initializing Panda3D rendering framework" << std::endl;
206
206
renderer.initFramework ();
207
+ // ! [Adding subrenderers]
207
208
208
- std::cout << " Loading object " << modelPath << std::endl;
209
+ // ! [Scene configuration]
209
210
NodePath object = renderer.loadObject (objectName, modelPath);
210
- std::cout << " Adding node to scene" <<std::endl;
211
-
212
211
renderer.addNodeToScene (object);
213
212
214
213
vpPanda3DAmbientLight alight (" Ambient" , vpRGBf (0.2 ));
@@ -220,7 +219,8 @@ int main(int argc, const char **argv)
220
219
vpPanda3DDirectionalLight dlight (" Directional" , vpRGBf (2.0 ), vpColVector ({ 1.0 , 1.0 , 0.0 }));
221
220
renderer.addLight (dlight);
222
221
223
- rgbRenderer->printStructure ();
222
+ <<<<<<< HEAD
223
+ rgbRenderer->printStructure ();
224
224
if (!backgroundPath.empty ()) {
225
225
vpImage<vpRGBa> background;
226
226
vpImageIo::read (background, backgroundPath);
@@ -230,7 +230,14 @@ int main(int argc, const char **argv)
230
230
231
231
std::cout << " Setting camera pose" << std::endl;
232
232
renderer.setCameraPose (vpHomogeneousMatrix (0.0 , 0.0 , -0.3 , 0.0 , 0.0 , 0.0 ));
233
- unsigned h = renderParams.getImageHeight (), w = renderParams.getImageWidth ();
233
+ ====== =
234
+ renderer.setCameraPose (vpHomogeneousMatrix (0.0 , 0.0 , -0.3 , 0.0 , 0.0 , 0.0 ));
235
+ // ! [Scene configuration]
236
+
237
+ rgbRenderer->printStructure ();
238
+
239
+ >>>>>>> c386b93ae (tutorial structure)
240
+ unsigned h = renderParams.getImageHeight (), w = renderParams.getImageWidth ();
234
241
std::cout << " Creating display and data images" << std::endl;
235
242
vpImage<vpRGBf> normalsImage;
236
243
vpImage<vpRGBf> cameraNormalsImage;
0 commit comments