Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
case GL_VERTEX_SHADER: // file ist vertexshader { std::ifstream file(shaderfile); if (!file.good()) { std::cerr << "ERROR: can't open the vertexshaderfile\n"; exit(-500); } file.seekg(0, file.end); _vertexfilesize = file.tellg(); file.seekg(0, file.beg); _vertexfilesize++; // **** _vertexshadercode = new (char[_vertexfilesize]); /*if (!_vertexshadercode) { std::cerr << "ERROR: can't allocate vertexshaderdatamemory\n"; exit(-501); }*/ file.read(_vertexshadercode, _vertexfilesize); file.close(); _vertexshadercode[_vertexfilesize - 1] = '\0'; // **** _ok = true; /* _vertexfilesize = 1024; _vertexshadercode = new GLchar[_vertexfilesize]; _vertexshadercode = "#version 330\n" "layout(location = 0) in vec3 in_position;\n" "layout(location = 1) in vec3 in_color;\n" "layout(location = 2) in vec2 in_tex0;\n" "uniform mat4 model;\n" "uniform mat4 view;\n" "uniform mat4 proj;\n" "out vec4 color;\n" "out vec2 texcol0;\n" "void main()\n" "{\n" " gl_Position = model * proj * view * vec4(in_position, 1.0);\n" " color = vec4(in_color, 1.0);\n" " texcol0 = in_tex0;\n" "}\n"; _ok = true; */ } break; case GL_FRAGMENT_SHADER: // file ist vertexshader { std::ifstream file(shaderfile); if (!file.good()) { std::cerr << "ERROR: can't open the fragmentshaderfile\n"; exit(-500); } file.seekg(0, file.end); _fragmentfilesize = file.tellg(); file.seekg(0, file.beg); _fragmentfilesize++; _fragmentshadercode = new (GLchar[_fragmentfilesize]); /*if (!_fragmentshadercode) { std::cerr << "ERROR: can't allocate fragmentshaderdatamemory\n"; exit(-501); }*/ _fragmentshadercode[_fragmentfilesize] = '\0'; file.read(_fragmentshadercode, _fragmentfilesize); file.close(); _ok = true; /* _fragmentfilesize = 1024; _fragmentshadercode = new GLchar[_fragmentfilesize]; _fragmentshadercode = "#version 330\n" "out vec4 out_color;\n" "in vec4 color;\n" "in vec2 texcol0;\n" "uniform sampler2D tex0;\n" "void main()\n" "{\n" " out_color = texture(tex0, texcol0) * vec4(0.7, 0.7, 1.0, 1.0);// * color;\n" "}\n"; _ok = true;*/ |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#version 330 layout(location = 0) in vec3 in_position; layout(location = 1) in vec3 in_color; layout(location = 2) in vec2 in_tex0; uniform mat4 model; uniform mat4 view; uniform mat4 proj; out vec4 color; out vec2 texcol0; void main() { gl_Position = model * proj * view * vec4(in_position, 1.0); color = vec4(in_color, 1.0); texcol0 = in_tex0; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
#version 330 out vec4 out_color; in vec4 color; in vec2 texcol0; uniform sampler2D tex0; void main() { out_color = texture(tex0, texcol0) * vec4(0.7, 0.7, 1.0, 1.0); }; |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »sIR_pAPILEIN« (14.10.2016, 18:41)
Administrator
Administrator
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Magogan« (16.10.2016, 11:05)
Werbeanzeige