mirror of https://github.com/buggins/dlangui.git
trying to fix OpenGL problem on MAC - part 2
This commit is contained in:
parent
945aabfc1d
commit
8d0d67a5ba
|
@ -86,16 +86,19 @@ class GLProgram {
|
||||||
|
|
||||||
char[] versionLine;
|
char[] versionLine;
|
||||||
versionLine ~= "#version ";
|
versionLine ~= "#version ";
|
||||||
foreach(ch; glslversion)
|
foreach(ch; glslversion) {
|
||||||
if (ch >= '0' && ch <= '9')
|
if (ch >= '0' && ch <= '9')
|
||||||
versionLine ~= ch;
|
versionLine ~= ch;
|
||||||
|
else if (ch != '.')
|
||||||
|
break;
|
||||||
|
}
|
||||||
versionLine ~= "\n\n";
|
versionLine ~= "\n\n";
|
||||||
string sourceCode = versionLine ~ src;
|
char[] sourceCode = versionLine ~ src;
|
||||||
Log.d("compileShader glsl=", glslversion, " code: ", sourceCode);
|
Log.d("compileShader glsl=", glslversion, " code:\n", sourceCode);
|
||||||
|
|
||||||
GLuint shader = glCreateShader(type);//GL_VERTEX_SHADER
|
GLuint shader = glCreateShader(type);//GL_VERTEX_SHADER
|
||||||
const char * psrc = sourceCode.toStringz;
|
const char * psrc = sourceCode.toStringz;
|
||||||
GLuint len = cast(uint)src.length;
|
GLuint len = cast(uint)sourceCode.length;
|
||||||
glShaderSource(shader, 1, &psrc, cast(const(int)*)&len);
|
glShaderSource(shader, 1, &psrc, cast(const(int)*)&len);
|
||||||
glCompileShader(shader);
|
glCompileShader(shader);
|
||||||
GLint compiled;
|
GLint compiled;
|
||||||
|
@ -118,7 +121,7 @@ class GLProgram {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
bool compile() {
|
bool compile() {
|
||||||
glslversion = cast(string)std.string.fromStringz(glGetString(GL_SHADING_LANGUAGE_VERSION));
|
glslversion = std.string.fromStringz(glGetString(GL_SHADING_LANGUAGE_VERSION)).dup;
|
||||||
vertexShader = compileShader(vertexSource, GL_VERTEX_SHADER);
|
vertexShader = compileShader(vertexSource, GL_VERTEX_SHADER);
|
||||||
fragmentShader = compileShader(fragmentSource, GL_FRAGMENT_SHADER);
|
fragmentShader = compileShader(fragmentSource, GL_FRAGMENT_SHADER);
|
||||||
if (!vertexShader || !fragmentShader) {
|
if (!vertexShader || !fragmentShader) {
|
||||||
|
|
Loading…
Reference in New Issue