| 133 | }; |
| 134 | |
| 135 | TinyRendererSetup::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, |
nothing calls this directly
no test coverage detected