rendered paste body#include <stdlib.h>
#include "re.h"
#include "SDL.h"
#include "SDL_opengl.h"
int main(int argc, char **argv)
{
unsigned int dum;
int zamien;
unsigned long vars1[]={GL_ZERO,GL_ONE,GL_DST_COLOR,GL_ONE_MINUS_DST_COLOR,GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA,GL_DST_ALPHA,GL_ONE_MINUS_DST_ALPHA,GL_SRC_ALPHA_SATURATE};
char svars2[8][100]={"GL_ZERO","GL_ONE","GL_SRC_COLOR","GL_ONE_MINUS_SRC_COLOR","GL_SRC_ALPHA","GL_ONE_MINUS_SRC_ALPHA","GL_DST_ALPHA","GL_ONE_MINUS_DST_ALPHA"};
unsigned long vars2[]={GL_ZERO,GL_ONE,GL_SRC_COLOR,GL_ONE_MINUS_SRC_COLOR,GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA,GL_DST_ALPHA,GL_ONE_MINUS_DST_ALPHA};
int i,j;
parse_opts(argc, argv);
SDL_Surface* video_surface;
SDL_Init(SDL_INIT_EVERYTHING);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,0);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE,16);
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE,8);
video_surface=SDL_SetVideoMode(512,512,0,SDL_OPENGL);
if (!video_surface)
{
printf("unable to set video mode\n");
exit(0);
}
#if 0
i=1;
do
{
printf("+++++++ %d\n",i);
dump_before();
glBegin(GL_TRIANGLES);
// for(j=0;j<i;j++)
{
// glColor3ub(255,255,255);
glNormal3f(1.,0.,0.);
// glTexCoord3f(1.,1.,1.);
glVertex3i(1,1,1);
}
glEnd();
dump_after();
i++;
}
while(i<1000);
#endif
#if 0
// dump_before();
glClear(GL_COLOR_BUFFER_BIT);
// dump_after();
dump_before();
glBegin(GL_TRIANGLES);
{
// for(j=0;j<8;j++)
{
glTexCoord2f(1.0,1.0);
// glTexCoord3f(1.0,1.0,1.0);
// glColor3ub(255,255,255);
// glColor4ub(255,255,255,255);
glNormal3f(1.,0.,0.);
// glVertex4i(1,1,1,1);
glVertex3i(1,1,1);
// glVertex2i(1,1);
}
}
glEnd();
dump_after();
dump_before();
glFlush();
dump_after();
dump_before();
glBegin(GL_TRIANGLES);
{
// for(j=0;j<8;j++)
{
glTexCoord2f(1.0,1.0);
// glTexCoord3f(1.0,1.0,1.0);
// glColor3ub(255,255,255);
// glColor4ub(255,255,255,255);
glNormal3f(1.,0.,0.);
// glVertex4i(1,1,1,1);
glVertex3i(1,1,1);
// glVertex2i(1,1);
}
}
glEnd();
dump_after();
// glDisable(GL_DITHER);
// glLoadIdentity();
// glBegin(GL_TRIANGLES);
// glEnd();
// glDisable(GL_DITHER);
// glBegin(GL_TRIANGLE_FAN);
// glEnd();
// glClearColor(0.5,0.5,1.0,0.0);
// glBegin(GL_TRIANGLES);
// glEnd();
// glClear(GL_COLOR_BUFFER_BIT);
#endif
printf("coucou\n");
#if 0
dump_before();
glClearColor(0.5,0.5,1.0,0.0);
glClear(GL_COLOR_BUFFER_BIT);
glFinish();
// glReadPixels(1,1,1,1,GL_RGBA,GL_UNSIGNED_BYTE,&dum);
dump_after();
dump_before();
glClearColor(0.5,0.5,1.0,0.0);
glClear(GL_COLOR_BUFFER_BIT);
dump_after();
dump_before();
glClearDepth(0.3f);
glClear(GL_DEPTH_BUFFER_BIT);
dump_after();
printf("pouet\n");
#endif
glViewport(1,1,512,512);
glViewport(0,0,512,512);
glEnable(GL_BLEND);
dump_before();
scanf("%d",&zamien);
glBlendFunc(GL_SRC_ALPHA,vars2[zamien]);
glBegin(GL_TRIANGLES);
glVertex3f(-1.0f, -0.5f, -4.0f); // A
glVertex3f( 1.0f, -0.5f, -4.0f); // B
glVertex3f( 0.0f, 0.5f, -4.0f); // C
dump_after();
glEnd();
printf("Ot to to: %d\t%d\t0x%08x\n",zamien,vars2[zamien],vars2[zamien]);
printf("%s\n",svars2[zamien]);
printf("%d\t%d\t0x%08x\n",GL_SRC_ALPHA,vars1[8],vars1[8]);
SDL_Quit();
return 0;
}