Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include "GL/glew.h"
- #include "GL/glut.h"
- #include <vector>
- void printCompileError(GLuint obj){
- GLint logLength = 0;
- glGetObjectParameterivARB(obj, GL_OBJECT_INFO_LOG_LENGTH_ARB, &logLength);
- if(logLength){
- std::vector<GLcharARB> errorLog(logLength,0);
- glGetInfoLogARB(obj, logLength,0,&errorLog[0]);
- fprintf(stderr, &errorLog[0]);
- }
- }
- int main(int argc, char** argv) {
- glutInit(&argc, argv);
- glutCreateWindow("gltestcase");
- GLenum glew_status = glewInit();
- if (glew_status != GLEW_OK) {
- fprintf(stderr, "Error: %s\n", glewGetErrorString(glew_status));
- return EXIT_FAILURE;
- }
- if (!GLEW_EXT_geometry_shader4) {
- fprintf(stderr, "EXT_geometry_shader4 not supported");
- return EXIT_FAILURE;
- }
- fprintf(stdout, "vendor: %s\n", glGetString(GL_VENDOR));
- fprintf(stdout, "version: %s\n", glGetString(GL_VERSION));
- GLint compile_ok = GL_FALSE;
- GLuint program = glCreateProgram();
- GLuint gs = glCreateShader(GL_GEOMETRY_SHADER);
- //GL_ARB_geometry_sheder problem
- const char* gs_source =
- "#version 130\n"
- "#extension GL_ARB_geometry_shader4 : require\n"
- "in float something[];"
- "void f(int i){something[i];}"
- "void main(){}";
- glShaderSource(gs, 1, &gs_source, NULL);
- glCompileShader(gs);
- glGetShaderiv(gs, GL_COMPILE_STATUS, &compile_ok);
- if (0 == compile_ok) {
- printCompileError(gs);
- } else {
- fprintf(stdout, "gs: ok\n");
- }
- //sampler array problem
- const char* fs_source =
- "#version 130\n"
- "uniform sampler2D samp[2];"
- "void f(int i){ textureSize(samp[i], 0); }"
- "void main(){}";
- GLuint fs = glCreateShader(GL_FRAGMENT_SHADER);
- glShaderSource(fs, 1, &fs_source, NULL);
- glCompileShader(fs);
- glGetShaderiv(fs, GL_COMPILE_STATUS, &compile_ok);
- if (0 == compile_ok) {
- printCompileError(fs);
- } else {
- fprintf(stdout, "fs: ok\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement