我已经尽力了解OpenGL的功能,但我glShaderSource的参数存在问题:
void glShaderSource(
GLuint shader,
GLsizei count,
const GLchar * const * string,
const GLint * length);
Run Code Online (Sandbox Code Playgroud)
我对最后两个参数感到困惑.它们在C++中实际意味着什么?这是否意味着我给它一个字符串,一个const char或一个字符串的指针,如果那可能的话?为什么?
我看到了这个问题,它确实散发出一些亮点.尽管如此,我似乎无法弄清楚我是如何"不正确地"加载我的着色器,因为这已经执行过,而且最近没有对着色器加载代码进行任何更改,所以我认为这些错误必须来自我的绘制调用.
尽管如此,为了简洁起见,我仍然会发布着色器文件,绘制函数用于绘制我想要渲染的圆,以及在着色器文件中作为字符串加载的代码.
基本上我需要知道的是为什么我会收到这些错误以及它们到底出了什么问题呢?
(来自调试输出)
ERROR {
OpenGL Says:
Vertex info
-----------
0(1) : error C0000: syntax error, unexpected $undefined at token "<undefined>"
Fragment info
-------------
0(1) : error C0000: syntax error, unexpected $undefined at token "<undefined>"
};
Run Code Online (Sandbox Code Playgroud)
绘制代码
void Circle::draw( GLuint program )
{
const size_t centerMag = mCenter.length();
glUseProgram( program );
for( float t = 0; t < mCircumference; t += 0.1 )
{
float x = centerMag + glm::cos( 2 * M_PI …Run Code Online (Sandbox Code Playgroud) 我刚刚开始使用Shader编程(GLSL)并使用RenderMonkey创建了一些.现在我想在我的java代码中使用这个Shaders.有没有简单的例子说明我是怎么做到的?