All pastes #53708 Raw Edit

Something

public text v1 · immutable
#53708 ·published 2006-05-05 10:21 UTC
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;
}