History

fix thinning in voxels as points by using correct points to calculate width of voxel based on camera position relative to voxel

ZappoMan committed 13 years ago

Commit c4a2b3c1 parent 79fb92f4 files · +156 −36Browse files

Showing the changes to interface/src/VoxelSystem.cpp (1 of 4 files). Show all

Unified · Split

interface/src/VoxelSystem.cpp+7−7
@@ -1266,16 +1266,16 @@ void VoxelSystem::render(bool texture) { · 1265 unmodified lines
12661266 glm::vec2 viewDimensions = Application::getInstance()->getViewportDimensions();
12671267 float viewportWidth = viewDimensions.x;
12681268 float viewportHeight = viewDimensions.y;
1269+ glm::vec3 cameraPosition = Application::getInstance()->getViewFrustum()->getPosition();
1270+ PointShader& pointShader = Application::getInstance()->getPointShader();
12691271
1270− Application::getInstance()->getPointShader().begin();
1272+ pointShader.begin();
12711273
1272− int uniformLocation = Application::getInstance()->getPointShader().uniformLocation("viewportWidth");
1273− Application::getInstance()->getPointShader().setUniformValue(uniformLocation, viewportWidth);
1274+ pointShader.setUniformValue(pointShader.uniformLocation("viewportWidth"), viewportWidth);
1275+ pointShader.setUniformValue(pointShader.uniformLocation("viewportHeight"), viewportHeight);
1276+ pointShader.setUniformValue(pointShader.uniformLocation("cameraPosition"), cameraPosition);
12741277
1275− uniformLocation = Application::getInstance()->getPointShader().uniformLocation("viewportHeight");
1276− Application::getInstance()->getPointShader().setUniformValue(uniformLocation, viewportHeight);
1277−
1278− attributeLocation = Application::getInstance()->getVoxelShader().attributeLocation("voxelSizeIn");
1278+ attributeLocation = pointShader.attributeLocation("voxelSizeIn");
12791279 glEnableVertexAttribArray(attributeLocation);
12801280 glVertexAttribPointer(attributeLocation, 1, GL_FLOAT, false, sizeof(VoxelShaderVBOData), BUFFER_OFFSET(3*sizeof(float)));
12811281 }