diff options
author | Karl Berry <karl@freefriends.org> | 2019-11-19 00:04:10 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-11-19 00:04:10 +0000 |
commit | e0f7e24187626cc11a2dfdb9f9e22660f0b536a9 (patch) | |
tree | f16e903dd2fec2384f96e1b73f74c6cd4a948dc0 /Build/source/utils/asymptote/shaders.cc | |
parent | 0f1deee61c0b9018ed89701f331c2456d43c47fe (diff) |
asy 2.61 sources
git-svn-id: svn://tug.org/texlive/trunk@52856 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/shaders.cc')
-rw-r--r-- | Build/source/utils/asymptote/shaders.cc | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/Build/source/utils/asymptote/shaders.cc b/Build/source/utils/asymptote/shaders.cc index 877458acaae..ab0c194917f 100644 --- a/Build/source/utils/asymptote/shaders.cc +++ b/Build/source/utils/asymptote/shaders.cc @@ -17,25 +17,31 @@ GLuint compileAndLinkShader(std::vector<ShaderfileModePair> const& shaders, size_t Nlights, size_t NMaterials, std::vector<std::string> const& defineflags) { - GLuint mainShader = glCreateProgram(); + GLuint shader = glCreateProgram(); std::vector<GLuint> compiledShaders; size_t n=shaders.size(); for(size_t i=0; i < n; ++i) { GLint newshader=createShaderFile(shaders[i].first,shaders[i].second, Nlights,NMaterials,defineflags); - glAttachShader(mainShader,newshader); + glAttachShader(shader,newshader); compiledShaders.push_back(newshader); } - glLinkProgram(mainShader); + glBindAttribLocation(shader,positionAttrib,"position"); + glBindAttribLocation(shader,normalAttrib,"normal"); + glBindAttribLocation(shader,materialAttrib,"material"); + glBindAttribLocation(shader,colorAttrib,"color"); + glBindAttribLocation(shader,widthAttrib,"width"); + + glLinkProgram(shader); for(size_t i=0; i < n; ++i) { - glDetachShader(mainShader,compiledShaders[i]); + glDetachShader(shader,compiledShaders[i]); glDeleteShader(compiledShaders[i]); } - return mainShader; + return shader; } GLuint createShaders(GLchar const* src, int shaderType, |