【发布时间】:2018-11-02 22:42:01
【问题描述】:
我将 macOS 更新为 Mojave,但我的程序的某些部分无法正常运行。我想在 GLFW 窗口上显示编码模式。但是,它没有显示任何内容。在更新此代码之前可以正常工作。下面的代码是我的代码,它不起作用。有没有不能再使用的部分?或者有人知道 High Sierra 和 Mojave 之间的变化吗?
void showPattern(float cr, float cg, float cb, int num, int p){
unsigned char *pat;
pat=(unsigned char *)malloc(sizeof(unsigned char)*pxsize*pysize*3);
int i, j, len;
int pt = 0;
len = (_patwidth)<pxsize?(_patwidth):pxsize;
glfwMakeContextCurrent(codewin);
for(i=0;i<pysize;i++){
for(j=0;j<len;j++){
if(p==POSITIVE){
pat[pt+0] = cr * pattern[num].posi[4*j];
pat[pt+1] = cg * pattern[num].posi[4*j];
pat[pt+2] = cb * pattern[num].posi[4*j];
}
else{
pat[pt+0] = cr * pattern[num].nega[4*j];
pat[pt+1] = cg * pattern[num].nega[4*j];
pat[pt+2] = cb * pattern[num].nega[4*j];
}
pt+=3;
}
}
glfwMakeContextCurrent(codewin);
glColor4d(1.0, 1.0, 1.0, 0.0);
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, pxsize, pysize, GL_RGB, GL_UNSIGNED_BYTE, pat);
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f);
glVertex2f(-1.0f, 1.0f);
glTexCoord2f(1.0f, 0.0f);
glVertex2f(1.0f, 1.0f);
glTexCoord2f(1.0f, 1.0f);
glVertex2f(1.0f, -1.0f);
glTexCoord2f(0.0f, 1.0f);
glVertex2f(-1.0f, -1.0f);
glEnd();
glFlush();
glfwSwapBuffers(codewin);
free(pat);
}
- macOS:10.14
- Xcode: 10.1
- OpenGL:2.1
- GLFW:3.3.0
- GLEW:2.1
【问题讨论】:
标签: c xcode opengl glfw macos-mojave