From 3cfe066bcb570dc5d1cf2dfb4dbcf44395da736b Mon Sep 17 00:00:00 2001 From: Sam Gateau Date: Tue, 23 Dec 2014 15:42:14 -0800 Subject: [PATCH 1/8] Add the autoScribeShader cmake --- cmake/macros/AutoScribeShader.cmake | 88 +++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100755 cmake/macros/AutoScribeShader.cmake diff --git a/cmake/macros/AutoScribeShader.cmake b/cmake/macros/AutoScribeShader.cmake new file mode 100755 index 0000000000..67f2337daf --- /dev/null +++ b/cmake/macros/AutoScribeShader.cmake @@ -0,0 +1,88 @@ +# +# AutoScribeShader.cmake +# +# Created by Sam Gateau on 12/17/14. +# Copyright 2014 High Fidelity, Inc. +# +# Distributed under the Apache License, Version 2.0. +# See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +# + +function(AUTOSCRIBE_SHADER SHADER_FILE) + + # Grab include files + foreach(includeFIle ${ARGN}) + list(APPEND SHADER_INCLUDE_FILES ${includeFIle}) + endforeach() + + #Extract the unique include shader paths + foreach(SHADER_INCLUDE ${SHADER_INCLUDE_FILES}) + get_filename_component(INCLUDE_DIR ${SHADER_INCLUDE} PATH) + list(APPEND SHADER_INCLUDES_PATHS ${INCLUDE_DIR}) + endforeach() + list(REMOVE_DUPLICATES SHADER_INCLUDES_PATHS) + + # make the scribe include arguments + set(SCRIBE_INCLUDES) + foreach(INCLUDE_PATH ${SHADER_INCLUDES_PATHS}) + set(SCRIBE_INCLUDES ${SCRIBE_INCLUDES} -I ${INCLUDE_PATH}/) + endforeach() + + # Define where to ouput the scribed shader + set(SHADER_OUTPUT_DIR "${PROJECT_BINARY_DIR}/includes/") + make_directory(${SHADER_OUTPUT_DIR}) + + # Define the final name of the generated shader + get_filename_component(SHADER_TARGET ${SHADER_FILE} NAME_WE) + get_filename_component(SHADER_EXT ${SHADER_FILE} EXT) + if(SHADER_EXT STREQUAL .slv) + set(SHADER_TARGET ${SHADER_TARGET}_vert.h) + elseif(${SHADER_EXT} STREQUAL .slf) + set(SHADER_TARGET ${SHADER_TARGET}_frag.h) + endif() + #set(SHADER_TARGET ${SHADER_OUTPUT_DIR}${SHADER_TARGET}) + + # Target dependant Custom rule on the SHADER_FILE + if (APPLE) + set(GLPROFILE MAC_GL) + set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE}) + + add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE}) + else (APPLE) + set(GLPROFILE PC_GL) + set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE}) + + add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE}) + endif() + + #output the generated file name + set(AUTOSCRIBE_SHADER_RETURN ${SHADER_TARGET} PARENT_SCOPE) + + file(GLOB INCLUDE_FILES ${SHADER_TARGET}) + +endfunction() + + +macro(AUTOSCRIBE_SHADER_LIB) + + file(GLOB_RECURSE SHADER_INCLUDE_FILES src/*.slh) + file(GLOB_RECURSE SHADER_SOURCE_FILES src/*.slv src/*.slf) + + #message(${SHADER_INCLUDE_FILES}) + foreach(SHADER_FILE ${SHADER_SOURCE_FILES}) + AUTOSCRIBE_SHADER(${SHADER_FILE} ${SHADER_INCLUDE_FILES}) + list(APPEND AUTOSCRIBE_SHADER_SRC ${AUTOSCRIBE_SHADER_RETURN}) + endforeach() + #message(${AUTOSCRIBE_SHADER_SRC}) + + if (WIN32) + source_group("Shaders" FILES ${SHADER_INCLUDE_FILES}) + source_group("Shaders" FILES ${SHADER_SOURCE_FILES}) + source_group("Shaders" FILES ${AUTOSCRIBE_SHADER_SRC}) + endif() + + list(APPEND AUTOSCRIBE_SHADER_LIB_SRC ${SHADER_INCLUDE_FILES}) + list(APPEND AUTOSCRIBE_SHADER_LIB_SRC ${SHADER_SOURCE_FILES}) + list(APPEND AUTOSCRIBE_SHADER_LIB_SRC ${AUTOSCRIBE_SHADER_SRC}) + +endmacro() From 03d8922d59671bc70d956438447353cebcd8ae10 Mon Sep 17 00:00:00 2001 From: Sam Gateau Date: Tue, 23 Dec 2014 15:47:39 -0800 Subject: [PATCH 2/8] fix typo --- cmake/macros/AutoScribeShader.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/macros/AutoScribeShader.cmake b/cmake/macros/AutoScribeShader.cmake index 67f2337daf..1973cddebd 100755 --- a/cmake/macros/AutoScribeShader.cmake +++ b/cmake/macros/AutoScribeShader.cmake @@ -11,8 +11,8 @@ function(AUTOSCRIBE_SHADER SHADER_FILE) # Grab include files - foreach(includeFIle ${ARGN}) - list(APPEND SHADER_INCLUDE_FILES ${includeFIle}) + foreach(includeFile ${ARGN}) + list(APPEND SHADER_INCLUDE_FILES ${includeFile}) endforeach() #Extract the unique include shader paths From c5eb04336f129510ad585e4fa79f55ab9ae037dd Mon Sep 17 00:00:00 2001 From: Sam Gateau Date: Tue, 23 Dec 2014 16:27:02 -0800 Subject: [PATCH 3/8] first version of SCribe used for shaders in render-utils --- cmake/macros/SetupHifiLibrary.cmake | 2 +- libraries/render-utils/CMakeLists.txt | 24 +++++++++--------- libraries/render-utils/src/Config.slh | 22 +++++++++++++++++ libraries/render-utils/src/Model.cpp | 2 ++ libraries/render-utils/src/model.slf | 29 ++++++++++++++++++++++ libraries/render-utils/src/model.slv | 35 +++++++++++++++++++++++++++ tools/scribe/src/main.cpp | 6 ++--- 7 files changed, 105 insertions(+), 15 deletions(-) create mode 100755 libraries/render-utils/src/Config.slh create mode 100755 libraries/render-utils/src/model.slf create mode 100755 libraries/render-utils/src/model.slv diff --git a/cmake/macros/SetupHifiLibrary.cmake b/cmake/macros/SetupHifiLibrary.cmake index 362a833862..e76e1112e3 100644 --- a/cmake/macros/SetupHifiLibrary.cmake +++ b/cmake/macros/SetupHifiLibrary.cmake @@ -16,7 +16,7 @@ macro(SETUP_HIFI_LIBRARY) set(LIB_SRCS ${LIB_SRCS}) # create a library and set the property so it can be referenced later - add_library(${TARGET_NAME} ${LIB_SRCS} ${AUTOMTC_SRC}) + add_library(${TARGET_NAME} ${LIB_SRCS} ${AUTOMTC_SRC} ${AUTOSCRIBE_SHADER_LIB_SRC}) set(${TARGET_NAME}_DEPENDENCY_QT_MODULES ${ARGN}) list(APPEND ${TARGET_NAME}_DEPENDENCY_QT_MODULES Core) diff --git a/libraries/render-utils/CMakeLists.txt b/libraries/render-utils/CMakeLists.txt index 97dc9c7bc8..f84bd97c13 100644 --- a/libraries/render-utils/CMakeLists.txt +++ b/libraries/render-utils/CMakeLists.txt @@ -1,11 +1,13 @@ -set(TARGET_NAME render-utils) - -# use setup_hifi_library macro to setup our project and link appropriate Qt modules -setup_hifi_library(Widgets OpenGL Network Script) - -include_glm() - -link_hifi_libraries(animation fbx shared gpu) - -# call macro to include our dependency includes and bubble them up via a property on our target -include_dependency_includes() +set(TARGET_NAME render-utils) + +AUTOSCRIBE_SHADER_LIB() + +# use setup_hifi_library macro to setup our project and link appropriate Qt modules +setup_hifi_library(Widgets OpenGL Network Script) + +include_glm() + +link_hifi_libraries(animation fbx shared gpu) + +# call macro to include our dependency includes and bubble them up via a property on our target +include_dependency_includes() \ No newline at end of file diff --git a/libraries/render-utils/src/Config.slh b/libraries/render-utils/src/Config.slh new file mode 100755 index 0000000000..b431b671a6 --- /dev/null +++ b/libraries/render-utils/src/Config.slh @@ -0,0 +1,22 @@ + +<@if not CONFIG_SLH@> +<@def CONFIG_SLH@> + +<@if GLPROFILE == PC_GL @> + <@def VERSION_HEADER #version 330 compatibility@> +<@elif GLPROFILE == MAC_GL @> + <@def VERSION_HEADER #version 120@> +<@else@> + <@def VERSION_HEADER #version 120@> +<@endif@> + +<@endif@> diff --git a/libraries/render-utils/src/Model.cpp b/libraries/render-utils/src/Model.cpp index 6d313bc7aa..8a355f1f73 100644 --- a/libraries/render-utils/src/Model.cpp +++ b/libraries/render-utils/src/Model.cpp @@ -35,6 +35,8 @@ #include "GlowEffect.h" #include "Model.h" +#include "model_vert.h" +#include "model_frag.h" #define GLBATCH( call ) batch._##call //#define GLBATCH( call ) call diff --git a/libraries/render-utils/src/model.slf b/libraries/render-utils/src/model.slf new file mode 100755 index 0000000000..967fccce2a --- /dev/null +++ b/libraries/render-utils/src/model.slf @@ -0,0 +1,29 @@ +<@include Config.slh@> +<$VERSION_HEADER$> +// Generated on <$_SCRIBE_DATE$> +// model.frag +// fragment shader +// +// Created by Andrzej Kapolka on 10/14/13. +// Copyright 2013 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +// the diffuse texture +uniform sampler2D diffuseMap; + +// the alpha threshold +uniform float alphaThreshold; + +// the interpolated normal +varying vec4 normal; + +void main(void) { + // set the diffuse, normal, specular data + vec4 diffuse = texture2D(diffuseMap, gl_TexCoord[0].st); + gl_FragData[0] = vec4(gl_Color.rgb * diffuse.rgb, mix(gl_Color.a, 1.0 - gl_Color.a, step(diffuse.a, alphaThreshold))); + gl_FragData[1] = normalize(normal) * 0.5 + vec4(0.5, 0.5, 0.5, 1.0); + gl_FragData[2] = vec4(gl_FrontMaterial.specular.rgb, gl_FrontMaterial.shininess / 128.0); +} diff --git a/libraries/render-utils/src/model.slv b/libraries/render-utils/src/model.slv new file mode 100755 index 0000000000..e1096194ff --- /dev/null +++ b/libraries/render-utils/src/model.slv @@ -0,0 +1,35 @@ +<@include Config.slh@> +<$VERSION_HEADER$> +// Generated on <$_SCRIBE_DATE$> +// model.vert +// vertex shader +// +// Created by Andrzej Kapolka on 10/14/13. +// Copyright 2013 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +const int MAX_TEXCOORDS = 2; + +uniform mat4 texcoordMatrices[MAX_TEXCOORDS]; + +// the interpolated normal +varying vec4 normal; + +void main(void) { + // transform and store the normal for interpolation + normal = normalize(gl_ModelViewMatrix * vec4(gl_Normal, 0.0)); + + // pass along the diffuse color + // gl_FrontColor = gl_Color * gl_FrontMaterial.diffuse; + gl_FrontColor = gl_Color; + + // and the texture coordinates + gl_TexCoord[0] = texcoordMatrices[0] * vec4(gl_MultiTexCoord0.xy, 0.0, 1.0); + + // use standard pipeline transform + gl_Position = ftransform(); +} + diff --git a/tools/scribe/src/main.cpp b/tools/scribe/src/main.cpp index 55f23f8c55..6128b0bee1 100755 --- a/tools/scribe/src/main.cpp +++ b/tools/scribe/src/main.cpp @@ -192,15 +192,15 @@ int main (int argc, char** argv) { targetStringStream << "#ifndef scribe_" << targetName << "_h" << std::endl; targetStringStream << "#define scribe_" << targetName << "_h" << std::endl << std::endl; - targetStringStream << "const char " << targetName << "[] = {\n\""; + targetStringStream << "const char " << targetName << "[] = {\n"; std::stringstream destStringStreamAgain(destStringStream.str()); while (!destStringStreamAgain.eof()) { std::string line; std::getline(destStringStreamAgain, line); - targetStringStream << line << " \\n\\\n"; + targetStringStream << "\"" << line << "\\n\"" << std::endl; } - targetStringStream << "\"};" << std::endl << std::endl; + targetStringStream << "};" << std::endl << std::endl; targetStringStream << "#endif" << std::endl; } else { From 42157161e02340e3188966348a6bd3f92cba43c0 Mon Sep 17 00:00:00 2001 From: dev Date: Tue, 23 Dec 2014 18:19:25 -0800 Subject: [PATCH 4/8] fix the c++ header generation for mac though the brand new raw string format of c++11 --- libraries/render-utils/src/model.slf | 8 ++++---- tools/scribe/src/main.cpp | 8 +++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/libraries/render-utils/src/model.slf b/libraries/render-utils/src/model.slf index 967fccce2a..42421c71a2 100755 --- a/libraries/render-utils/src/model.slf +++ b/libraries/render-utils/src/model.slf @@ -21,9 +21,9 @@ uniform float alphaThreshold; varying vec4 normal; void main(void) { - // set the diffuse, normal, specular data - vec4 diffuse = texture2D(diffuseMap, gl_TexCoord[0].st); - gl_FragData[0] = vec4(gl_Color.rgb * diffuse.rgb, mix(gl_Color.a, 1.0 - gl_Color.a, step(diffuse.a, alphaThreshold))); - gl_FragData[1] = normalize(normal) * 0.5 + vec4(0.5, 0.5, 0.5, 1.0); + // set the diffuse, normal, specular data + vec4 diffuse = texture2D(diffuseMap, gl_TexCoord[0].st); + gl_FragData[0] = vec4(gl_Color.rgb * diffuse.rgb, mix(gl_Color.a, 1.0 - gl_Color.a, step(diffuse.a, alphaThreshold))); + gl_FragData[1] = normalize(normal) * 0.5 + vec4(0.5, 0.5, 0.5, 1.0); gl_FragData[2] = vec4(gl_FrontMaterial.specular.rgb, gl_FrontMaterial.shininess / 128.0); } diff --git a/tools/scribe/src/main.cpp b/tools/scribe/src/main.cpp index 6128b0bee1..2258947853 100755 --- a/tools/scribe/src/main.cpp +++ b/tools/scribe/src/main.cpp @@ -192,16 +192,22 @@ int main (int argc, char** argv) { targetStringStream << "#ifndef scribe_" << targetName << "_h" << std::endl; targetStringStream << "#define scribe_" << targetName << "_h" << std::endl << std::endl; + targetStringStream << "const char " << targetName << "[] = R\"XXX(" << destStringStream.str() << ")XXX\";"; +/* targetStringStream << "const char " << targetName << "[] = {\n"; std::stringstream destStringStreamAgain(destStringStream.str()); while (!destStringStreamAgain.eof()) { std::string line; std::getline(destStringStreamAgain, line); + + + if (line.find_first_of('/t') ) targetStringStream << "\"" << line << "\\n\"" << std::endl; } targetStringStream << "};" << std::endl << std::endl; - +*/ + targetStringStream << std::endl << std::endl; targetStringStream << "#endif" << std::endl; } else { targetStringStream << destStringStream.str(); From 7ea9f92492f2f27c468e891435d3b03510062ef9 Mon Sep 17 00:00:00 2001 From: Sam Gateau Date: Tue, 23 Dec 2014 18:25:35 -0800 Subject: [PATCH 5/8] polishing the scribe -c++ case --- tools/scribe/src/main.cpp | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/tools/scribe/src/main.cpp b/tools/scribe/src/main.cpp index 2258947853..d36c82a85b 100755 --- a/tools/scribe/src/main.cpp +++ b/tools/scribe/src/main.cpp @@ -192,21 +192,8 @@ int main (int argc, char** argv) { targetStringStream << "#ifndef scribe_" << targetName << "_h" << std::endl; targetStringStream << "#define scribe_" << targetName << "_h" << std::endl << std::endl; - targetStringStream << "const char " << targetName << "[] = R\"XXX(" << destStringStream.str() << ")XXX\";"; -/* - targetStringStream << "const char " << targetName << "[] = {\n"; + targetStringStream << "const char " << targetName << "[] = R\"XXXX(" << destStringStream.str() << ")XXXX\";"; - std::stringstream destStringStreamAgain(destStringStream.str()); - while (!destStringStreamAgain.eof()) { - std::string line; - std::getline(destStringStreamAgain, line); - - - if (line.find_first_of('/t') ) - targetStringStream << "\"" << line << "\\n\"" << std::endl; - } - targetStringStream << "};" << std::endl << std::endl; -*/ targetStringStream << std::endl << std::endl; targetStringStream << "#endif" << std::endl; } else { From 6628f7b811c3e9b7795f574abecd6d9c394f3e9d Mon Sep 17 00:00:00 2001 From: Sam Gateau Date: Thu, 25 Dec 2014 19:57:27 -0800 Subject: [PATCH 6/8] replace the model.frag and model.vert files from resource by the sl version of the shaders --- libraries/render-utils/src/Model.cpp | 12 +++++------- libraries/render-utils/src/model.slv | 3 +-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/libraries/render-utils/src/Model.cpp b/libraries/render-utils/src/Model.cpp index 8a355f1f73..680d193aa3 100644 --- a/libraries/render-utils/src/Model.cpp +++ b/libraries/render-utils/src/Model.cpp @@ -235,8 +235,8 @@ void Model::initJointTransforms() { void Model::init() { if (!_program.isLinked()) { - _program.addShaderFromSourceFile(QGLShader::Vertex, PathUtils::resourcesPath() + "shaders/model.vert"); - _program.addShaderFromSourceFile(QGLShader::Fragment, PathUtils::resourcesPath() + "shaders/model.frag"); + _program.addShaderFromSourceCode(QGLShader::Vertex, model_vert); + _program.addShaderFromSourceCode(QGLShader::Fragment, model_frag); initProgram(_program, _locations); @@ -247,8 +247,7 @@ void Model::init() { initProgram(_normalMapProgram, _normalMapLocations); - _specularMapProgram.addShaderFromSourceFile(QGLShader::Vertex, - PathUtils::resourcesPath() + "shaders/model.vert"); + _specularMapProgram.addShaderFromSourceCode(QGLShader::Vertex, model_vert); _specularMapProgram.addShaderFromSourceFile(QGLShader::Fragment, PathUtils::resourcesPath() + "shaders/model_specular_map.frag"); @@ -261,8 +260,7 @@ void Model::init() { initProgram(_normalSpecularMapProgram, _normalSpecularMapLocations); - _translucentProgram.addShaderFromSourceFile(QGLShader::Vertex, - PathUtils::resourcesPath() + "shaders/model.vert"); + _translucentProgram.addShaderFromSourceCode(QGLShader::Vertex, model_vert); _translucentProgram.addShaderFromSourceFile(QGLShader::Fragment, PathUtils::resourcesPath() + "shaders/model_translucent.frag"); @@ -302,7 +300,7 @@ void Model::init() { PathUtils::resourcesPath() + "shaders/model_shadow.frag"); _skinProgram.addShaderFromSourceFile(QGLShader::Vertex, PathUtils::resourcesPath() + "shaders/skin_model.vert"); - _skinProgram.addShaderFromSourceFile(QGLShader::Fragment, PathUtils::resourcesPath() + "shaders/model.frag"); + _skinProgram.addShaderFromSourceCode(QGLShader::Fragment, model_frag); initSkinProgram(_skinProgram, _skinLocations); diff --git a/libraries/render-utils/src/model.slv b/libraries/render-utils/src/model.slv index e1096194ff..496667a062 100755 --- a/libraries/render-utils/src/model.slv +++ b/libraries/render-utils/src/model.slv @@ -23,8 +23,7 @@ void main(void) { normal = normalize(gl_ModelViewMatrix * vec4(gl_Normal, 0.0)); // pass along the diffuse color - // gl_FrontColor = gl_Color * gl_FrontMaterial.diffuse; - gl_FrontColor = gl_Color; + gl_FrontColor = gl_Color * gl_FrontMaterial.diffuse; // and the texture coordinates gl_TexCoord[0] = texcoordMatrices[0] * vec4(gl_MultiTexCoord0.xy, 0.0, 1.0); From 29726b1b70436af3e3955c750c603e4f3fb785d0 Mon Sep 17 00:00:00 2001 From: Sam Gateau Date: Thu, 25 Dec 2014 20:05:00 -0800 Subject: [PATCH 7/8] removing shaders from resource --- interface/resources/shaders/model.frag | 29 ---------------------- interface/resources/shaders/model.vert | 34 -------------------------- 2 files changed, 63 deletions(-) delete mode 100644 interface/resources/shaders/model.frag delete mode 100644 interface/resources/shaders/model.vert diff --git a/interface/resources/shaders/model.frag b/interface/resources/shaders/model.frag deleted file mode 100644 index 82bc70ec46..0000000000 --- a/interface/resources/shaders/model.frag +++ /dev/null @@ -1,29 +0,0 @@ -#version 120 - -// -// model.frag -// fragment shader -// -// Created by Andrzej Kapolka on 10/14/13. -// Copyright 2013 High Fidelity, Inc. -// -// Distributed under the Apache License, Version 2.0. -// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html -// - -// the diffuse texture -uniform sampler2D diffuseMap; - -// the alpha threshold -uniform float alphaThreshold; - -// the interpolated normal -varying vec4 normal; - -void main(void) { - // set the diffuse, normal, specular data - vec4 diffuse = texture2D(diffuseMap, gl_TexCoord[0].st); - gl_FragData[0] = vec4(gl_Color.rgb * diffuse.rgb, mix(gl_Color.a, 1.0 - gl_Color.a, step(diffuse.a, alphaThreshold))); - gl_FragData[1] = normalize(normal) * 0.5 + vec4(0.5, 0.5, 0.5, 1.0); - gl_FragData[2] = vec4(gl_FrontMaterial.specular.rgb, gl_FrontMaterial.shininess / 128.0); -} diff --git a/interface/resources/shaders/model.vert b/interface/resources/shaders/model.vert deleted file mode 100644 index bb0cb32d05..0000000000 --- a/interface/resources/shaders/model.vert +++ /dev/null @@ -1,34 +0,0 @@ -#version 120 - -// -// model.vert -// vertex shader -// -// Created by Andrzej Kapolka on 10/14/13. -// Copyright 2013 High Fidelity, Inc. -// -// Distributed under the Apache License, Version 2.0. -// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html -// - -const int MAX_TEXCOORDS = 2; - -uniform mat4 texcoordMatrices[MAX_TEXCOORDS]; - -// the interpolated normal -varying vec4 normal; - -void main(void) { - // transform and store the normal for interpolation - normal = normalize(gl_ModelViewMatrix * vec4(gl_Normal, 0.0)); - - // pass along the diffuse color - gl_FrontColor = gl_Color * gl_FrontMaterial.diffuse; - - // and the texture coordinates - gl_TexCoord[0] = texcoordMatrices[0] * vec4(gl_MultiTexCoord0.xy, 0.0, 1.0); - - // use standard pipeline transform - gl_Position = ftransform(); -} - From acad86edf53ff03de05c55f60c19588ea5311980 Mon Sep 17 00:00:00 2001 From: Sam Gateau Date: Thu, 25 Dec 2014 22:41:14 -0800 Subject: [PATCH 8/8] clean cmake file for autoScribeShader --- cmake/macros/AutoScribeShader.cmake | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/cmake/macros/AutoScribeShader.cmake b/cmake/macros/AutoScribeShader.cmake index 1973cddebd..5584afe5e9 100755 --- a/cmake/macros/AutoScribeShader.cmake +++ b/cmake/macros/AutoScribeShader.cmake @@ -28,11 +28,7 @@ function(AUTOSCRIBE_SHADER SHADER_FILE) set(SCRIBE_INCLUDES ${SCRIBE_INCLUDES} -I ${INCLUDE_PATH}/) endforeach() - # Define where to ouput the scribed shader - set(SHADER_OUTPUT_DIR "${PROJECT_BINARY_DIR}/includes/") - make_directory(${SHADER_OUTPUT_DIR}) - - # Define the final name of the generated shader + # Define the final name of the generated shader file get_filename_component(SHADER_TARGET ${SHADER_FILE} NAME_WE) get_filename_component(SHADER_EXT ${SHADER_FILE} EXT) if(SHADER_EXT STREQUAL .slv) @@ -40,7 +36,6 @@ function(AUTOSCRIBE_SHADER SHADER_FILE) elseif(${SHADER_EXT} STREQUAL .slf) set(SHADER_TARGET ${SHADER_TARGET}_frag.h) endif() - #set(SHADER_TARGET ${SHADER_OUTPUT_DIR}${SHADER_TARGET}) # Target dependant Custom rule on the SHADER_FILE if (APPLE)