Collectives™ on Stack Overflow
Find centralized, trusted content and collaborate around the technologies you use most.
Learn more about Collectives
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Learn more about Teams
here is the output:
http://i43.tinypic.com/9a5zyx.png
if things were working the way i wanted, the colors in the left square would match the colors in the right square. thanks for any help regarding the subject
#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);
glLoadIdentity();
glOrtho(0,w,h,0,-1,1);
glViewport(0,0,w,h);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
drawquad(0,0);
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);
//glCopyTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,0,0,w,h,0);
glCopyTexSubImage2D(GL_TEXTURE_2D,0,0,0,0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,screenwidth,screenheight,0,-1,1);
glViewport(0,0,screenwidth,screenheight);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
int main()
int running;
glfwInit();
running=glfwOpenWindow(640,480,0,0,0,0,0,0,GLFW_WINDOW);
if (!running)
glfwTerminate();
return 0;
glfwSetWindowTitle(title);
glfwEnable(GLFW_STICKY_KEYS);
glfwGetWindowSize(&screenwidth,&screenheight);
enable2d();
texcopy();
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
drawquad(64,0);
drawmytex();
glfwSwapBuffers();
running=!glfwGetKey(GLFW_KEY_ESC)&&glfwGetWindowParam(GLFW_OPENED);
GLenum error=glGetError();
if (error!=GL_NO_ERROR)running=error;
glfwSleep(.017);
while (running==1);
glDeleteTextures(1,&img);
glfwTerminate();
return running;
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.