From 86ddcea87f673701a4a58ce9051aa3728687d066 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Thu, 16 May 2013 13:08:21 -0700 Subject: [PATCH] Better names for the shaders. --- .../{grainy_voxels.frag => perlin_modulate.frag} | 16 +++++++++++----- .../{grainy_voxels.vert => perlin_modulate.vert} | 6 +++--- interface/src/VoxelSystem.cpp | 14 +++++++------- interface/src/VoxelSystem.h | 2 +- 4 files changed, 22 insertions(+), 16 deletions(-) rename interface/resources/shaders/{grainy_voxels.frag => perlin_modulate.frag} (87%) rename interface/resources/shaders/{grainy_voxels.vert => perlin_modulate.vert} (95%) diff --git a/interface/resources/shaders/grainy_voxels.frag b/interface/resources/shaders/perlin_modulate.frag similarity index 87% rename from interface/resources/shaders/grainy_voxels.frag rename to interface/resources/shaders/perlin_modulate.frag index a01de0c577..eea0da3671 100644 --- a/interface/resources/shaders/grainy_voxels.frag +++ b/interface/resources/shaders/perlin_modulate.frag @@ -1,16 +1,22 @@ +#version 120 + // -// grainy_voxels.frag +// perlin_modulate.frag // fragment shader // // Created by Andrzej Kapolka on 5/15/13. -// Copyright (c) 2012 High Fidelity, Inc. All rights reserved. +// Copyright (c) 2013 High Fidelity, Inc. All rights reserved. // -#version 120 - // the texture containing our permutations and normals uniform sampler2D permutationNormalTexture; +// the noise frequency +const float frequency = 1024.0; + +// the noise amplitude +const float amplitude = 0.1; + // the position in model space varying vec3 position; @@ -53,5 +59,5 @@ float perlin(vec3 location) { } void main(void) { - gl_FragColor = vec4(gl_Color.rgb * (0.85 + perlin(position * 1024.0) * 0.15), 1.0); + gl_FragColor = vec4(gl_Color.rgb * (1.0 + amplitude*(perlin(position * frequency) - 1.0)), 1.0); } diff --git a/interface/resources/shaders/grainy_voxels.vert b/interface/resources/shaders/perlin_modulate.vert similarity index 95% rename from interface/resources/shaders/grainy_voxels.vert rename to interface/resources/shaders/perlin_modulate.vert index 856b4e7955..5cf87fc5fd 100644 --- a/interface/resources/shaders/grainy_voxels.vert +++ b/interface/resources/shaders/perlin_modulate.vert @@ -1,13 +1,13 @@ +#version 120 + // -// grainy_voxels.vert +// perlin_modulate.vert // vertex shader // // Created by Andrzej Kapolka on 5/15/13. // Copyright (c) 2013 High Fidelity, Inc. All rights reserved. // -#version 120 - // the position in model space varying vec3 position; diff --git a/interface/src/VoxelSystem.cpp b/interface/src/VoxelSystem.cpp index 7ad967491d..ac74d81c7f 100644 --- a/interface/src/VoxelSystem.cpp +++ b/interface/src/VoxelSystem.cpp @@ -503,12 +503,12 @@ void VoxelSystem::init() { // create our simple fragment shader switchToResourcesParentIfRequired(); - _grainProgram = new ProgramObject(); - _grainProgram->addShaderFromSourceFile(QGLShader::Vertex, "resources/shaders/grainy_voxels.vert"); - _grainProgram->addShaderFromSourceFile(QGLShader::Fragment, "resources/shaders/grainy_voxels.frag"); - _grainProgram->link(); + _perlinModulateProgram = new ProgramObject(); + _perlinModulateProgram->addShaderFromSourceFile(QGLShader::Vertex, "resources/shaders/perlin_modulate.vert"); + _perlinModulateProgram->addShaderFromSourceFile(QGLShader::Fragment, "resources/shaders/perlin_modulate.frag"); + _perlinModulateProgram->link(); - _grainProgram->setUniformValue("permutationNormalTexture", 0); + _perlinModulateProgram->setUniformValue("permutationNormalTexture", 0); // create the permutation/normal texture glGenTextures(1, &_permutationNormalTextureID); @@ -640,7 +640,7 @@ void VoxelSystem::render() { glBindBuffer(GL_ARRAY_BUFFER, _vboColorsID); glColorPointer(3, GL_UNSIGNED_BYTE, 0, 0); - _grainProgram->bind(); + _perlinModulateProgram->bind(); glBindTexture(GL_TEXTURE_2D, _permutationNormalTextureID); // draw the number of voxels we have @@ -648,7 +648,7 @@ void VoxelSystem::render() { glScalef(TREE_SCALE, TREE_SCALE, TREE_SCALE); glDrawElements(GL_TRIANGLES, 36 * _voxelsInReadArrays, GL_UNSIGNED_INT, 0); - _grainProgram->release(); + _perlinModulateProgram->release(); glBindTexture(GL_TEXTURE_2D, 0); // deactivate vertex and color arrays after drawing diff --git a/interface/src/VoxelSystem.h b/interface/src/VoxelSystem.h index 61ed570563..a3560c1b31 100644 --- a/interface/src/VoxelSystem.h +++ b/interface/src/VoxelSystem.h @@ -135,7 +135,7 @@ private: pthread_mutex_t _bufferWriteLock; pthread_mutex_t _treeLock; - ProgramObject* _grainProgram; + ProgramObject* _perlinModulateProgram; GLuint _permutationNormalTextureID; ViewFrustum* _viewFrustum;