MCPcopy Create free account
hub / github.com/bulletphysics/bullet3 / TinyRendererSetup

Method TinyRendererSetup

examples/RenderingExamples/TinyRendererSetup.cpp:135–207  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

133};
134
135TinyRendererSetup::TinyRendererSetup(struct GUIHelperInterface* gui)
136{
137 m_useSoftware = false;
138
139 m_guiHelper = gui;
140 m_app = gui->getAppInterface();
141 m_internalData = new TinyRendererSetupInternalData(gui->getAppInterface()->m_window->getWidth(), gui->getAppInterface()->m_window->getHeight());
142
143 const char* fileName = "textured_sphere_smooth.obj";
144 fileName = "cube.obj";
145 fileName = "torus/torus_with_plane.obj";
146
147 {
148 {
149 int shapeId = -1;
150
151 b3ImportMeshData meshData;
152 b3BulletDefaultFileIO fileIO;
153 if (b3ImportMeshUtility::loadAndRegisterMeshFromFileInternal(fileName, meshData,&fileIO))
154 {
155 int textureIndex = -1;
156
157 if (meshData.m_textureImage1)
158 {
159 textureIndex = m_guiHelper->getRenderInterface()->registerTexture(meshData.m_textureImage1, meshData.m_textureWidth, meshData.m_textureHeight);
160 }
161
162 shapeId = m_guiHelper->getRenderInterface()->registerShape(&meshData.m_gfxShape->m_vertices->at(0).xyzw[0],
163 meshData.m_gfxShape->m_numvertices,
164 &meshData.m_gfxShape->m_indices->at(0),
165 meshData.m_gfxShape->m_numIndices,
166 B3_GL_TRIANGLES,
167 textureIndex);
168
169 float position[4] = {0, 0, 0, 1};
170 float orn[4] = {0, 0, 0, 1};
171 float color[4] = {1, 1, 1, 1};
172 float scaling[4] = {1, 1, 1, 1};
173
174 m_guiHelper->getRenderInterface()->registerGraphicsInstance(shapeId, position, orn, color, scaling);
175 m_guiHelper->getRenderInterface()->writeTransforms();
176
177 m_internalData->m_shapePtr.push_back(0);
178 TinyRenderObjectData* ob = new TinyRenderObjectData(
179 m_internalData->m_rgbColorBuffer,
180 m_internalData->m_depthBuffer,
181 &m_internalData->m_shadowBuffer,
182 &m_internalData->m_segmentationMaskBuffer,
183 m_internalData->m_renderObjects.size(), -1);
184
185 meshData.m_gfxShape->m_scaling[0] = scaling[0];
186 meshData.m_gfxShape->m_scaling[1] = scaling[1];
187 meshData.m_gfxShape->m_scaling[2] = scaling[2];
188
189 const int* indices = &meshData.m_gfxShape->m_indices->at(0);
190 ob->registerMeshShape(&meshData.m_gfxShape->m_vertices->at(0).xyzw[0],
191 meshData.m_gfxShape->m_numvertices,
192 indices,

Callers

nothing calls this directly

Calls 13

registerMeshShapeMethod · 0.80
getAppInterfaceMethod · 0.45
getWidthMethod · 0.45
getHeightMethod · 0.45
registerTextureMethod · 0.45
getRenderInterfaceMethod · 0.45
registerShapeMethod · 0.45
atMethod · 0.45
writeTransformsMethod · 0.45
push_backMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected