小编wil*_*m56的帖子

为什么 glCopyTexSubImage2D 不能正确复制我的方块?

这是输出: http: //i43.tinypic.com/9a5zyx.png

如果事情按照我想要的方式进行,左侧方块中的颜色将与右侧方块中的颜色相匹配。

#include <gl/glfw.h>

const char* title="test";
GLuint img;
unsigned int w=64,h=64;
int screenwidth,screenheight;

void enable2d()
{
    glMatrixMode(GL_PROJECTION);
    glPushMatrix();
    glLoadIdentity();

    glViewport(0,0,screenwidth,screenheight);
    glOrtho(0,screenwidth,screenheight,0,-1,1);

    glMatrixMode(GL_MODELVIEW);
    glPushMatrix();
    glLoadIdentity();

    glPushAttrib(GL_DEPTH_BUFFER_BIT|GL_LIGHTING_BIT);
    glDisable(GL_DEPTH_TEST);
    glDisable(GL_LIGHTING);

    glClearColor(0.0f, 0.0f, 0.0f, 0.5f);
}

void drawmytex()
{
    glEnable(GL_TEXTURE_2D);
    glBindTexture(GL_TEXTURE_2D,img);
    glBegin(GL_QUADS);
    glTexCoord2i(0,0);
    glVertex2i(0,0);
    glTexCoord2i(1,0);
    glVertex2i(w,0);
    glTexCoord2i(1,1);
    glVertex2i(w,h);
    glTexCoord2i(0,1);
    glVertex2i(0,h);
    glEnd();
    glDisable(GL_TEXTURE_2D);
}

void drawquad(int x,int y)
{
    glBegin(GL_QUADS);
    glColor3f(0.0f,1.0f,0.0f);
    glVertex2i(x,y);
    glColor3f(1.0f,0.0f,1.0f);
    glVertex2i(x+w,y);
    glColor3f(0.0f,1.0f,1.0f);
    glVertex2i(x+w,y+h);
    glColor3f(0.0f,0.0f,1.0f);
    glVertex2i(x,y+h);
    glEnd();
}

void texcopy()
{
    if (!glIsTexture(img))
        glDeleteTextures(1,&img);
    glGenTextures(1,&img);
    glBindTexture(GL_TEXTURE_2D,img);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,w,h,0,GL_RGBA,GL_UNSIGNED_BYTE,0);

    glMatrixMode(GL_PROJECTION); …
Run Code Online (Sandbox Code Playgroud)

c++ opengl 2d glfw

6
推荐指数
1
解决办法
2920
查看次数

如何获取通知区域图标列表?

我正在尝试将代码添加到通知区域中可见的所有图标的列表中,在时间的左侧.我一直在试验,EnumDesktopWindowsGetWindowLong没有找到任何方法来挑出系统托盘图标.谢谢!

windows winapi taskbar

6
推荐指数
1
解决办法
1028
查看次数

标签 统计

2d ×1

c++ ×1

glfw ×1

opengl ×1

taskbar ×1

winapi ×1

windows ×1