History

Compute heightfield normals from adjacent values in vertex shader.

Andrzej Kapolka committed 12 years ago

Commit 46968321 parent 96302ca3 files · +17 −2Browse files

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

Unified · Split

interface/src/MetavoxelSystem.cpp+5−0
@@ -388,6 +388,9 @@ void HeightfieldBuffer::render() { · 387 unmodified lines
388 glActiveTexture(GL_TEXTURE1);388 glActiveTexture(GL_TEXTURE1);
389 glBindTexture(GL_TEXTURE_2D, _colorTextureID);389 glBindTexture(GL_TEXTURE_2D, _colorTextureID);
390 390
391 DefaultMetavoxelRendererImplementation::getHeightfieldProgram().setUniformValue(
392 DefaultMetavoxelRendererImplementation::getHeightScaleLocation(), 1.0f / _heightSize);
393
391 glDrawRangeElements(GL_QUADS, 0, vertexCount - 1, indexCount, GL_UNSIGNED_INT, 0);394 glDrawRangeElements(GL_QUADS, 0, vertexCount - 1, indexCount, GL_UNSIGNED_INT, 0);
392 395
393 glBindTexture(GL_TEXTURE_2D, 0);396 glBindTexture(GL_TEXTURE_2D, 0);
@@ -470,6 +473,7 @@ void DefaultMetavoxelRendererImplementation::init() { · 76 unmodified lines
470 _heightfieldProgram.bind();473 _heightfieldProgram.bind();
471 _heightfieldProgram.setUniformValue("heightMap", 0);474 _heightfieldProgram.setUniformValue("heightMap", 0);
472 _heightfieldProgram.setUniformValue("diffuseMap", 1);475 _heightfieldProgram.setUniformValue("diffuseMap", 1);
476 _heightScaleLocation = _heightfieldProgram.uniformLocation("heightScale");
473 _heightfieldProgram.release();477 _heightfieldProgram.release();
474 }478 }
475}479}
@@ -766,6 +770,7 @@ void DefaultMetavoxelRendererImplementation::render(MetavoxelData& data, Metavox · 290 unmodified lines
766ProgramObject DefaultMetavoxelRendererImplementation::_pointProgram;770ProgramObject DefaultMetavoxelRendererImplementation::_pointProgram;
767int DefaultMetavoxelRendererImplementation::_pointScaleLocation;771int DefaultMetavoxelRendererImplementation::_pointScaleLocation;
768ProgramObject DefaultMetavoxelRendererImplementation::_heightfieldProgram;772ProgramObject DefaultMetavoxelRendererImplementation::_heightfieldProgram;
773int DefaultMetavoxelRendererImplementation::_heightScaleLocation;
769 774
770static void enableClipPlane(GLenum plane, float x, float y, float z, float w) {775static void enableClipPlane(GLenum plane, float x, float y, float z, float w) {
771 GLdouble coefficients[] = { x, y, z, w };776 GLdouble coefficients[] = { x, y, z, w };