MCPcopy Create free account
hub / github.com/NVIDIA/cuda-samples / loadGLSLProgram

Function loadGLSLProgram

cpp/4_CUDA_Libraries/oceanFFT/oceanFFT.cpp:872–903  ·  view source on GitHub ↗

Create shader program from vertex shader and fragment shader files

Source from the content-addressed store, hash-verified

870
871// Create shader program from vertex shader and fragment shader files
872GLuint loadGLSLProgram(const char *vertFileName, const char *fragFileName)
873{
874 GLint linked;
875 GLuint program;
876
877 program = glCreateProgram();
878
879 if (!attachShader(program, GL_VERTEX_SHADER, vertFileName)) {
880 glDeleteProgram(program);
881 fprintf(stderr, "Couldn't attach vertex shader from file %s\n", vertFileName);
882 return 0;
883 }
884
885 if (!attachShader(program, GL_FRAGMENT_SHADER, fragFileName)) {
886 glDeleteProgram(program);
887 fprintf(stderr, "Couldn't attach fragment shader from file %s\n", fragFileName);
888 return 0;
889 }
890
891 glLinkProgram(program);
892 glGetProgramiv(program, GL_LINK_STATUS, &linked);
893
894 if (!linked) {
895 glDeleteProgram(program);
896 char temp[256];
897 glGetProgramInfoLog(program, 256, 0, temp);
898 fprintf(stderr, "Failed to link program: %s\n", temp);
899 return 0;
900 }
901
902 return program;
903}

Callers 1

initGLFunction · 0.85

Calls 1

attachShaderFunction · 0.85

Tested by

no test coverage detected