Skip to main content

Draw a 3D square using 3D Square and Glut

 #include <GL/glut.h>

/* globals */

GLsizei wh = 500, ww = 500; /* initial window size */
GLfloat size = 3.0; /* half side length of square */


void drawSquare(int x, int y)
{

y=wh-y;
glColor3ub( (char) random()%256, (char) random()%256, (char) random()%256);
glBegin(GL_POLYGON);
glVertex2f(x+size, y+size);
glVertex2f(x-size, y+size);
glVertex2f(x-size, y-size);
glVertex2f(x+size, y-size);
glEnd();
glFlush();
}


/* rehaping routine called whenever window is resized
or moved */

void myReshape(GLsizei w, GLsizei h)
{

/* adjust clipping box */

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, (GLdouble)w, 0.0, (GLdouble)h, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

/* adjust viewport and clear */

glViewport(0,0,w,h);
glClearColor (0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glFlush();

/* set global size for use by drawing routine */

ww = w;
wh = h;
}

void myinit(void)
{

glViewport(0,0,ww,wh);

/* Pick 2D clipping window to match size of screen window
This choice avoids having to scale object coordinates
each time window is resized */

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, (GLdouble) ww , 0.0, (GLdouble) wh , -1.0, 1.0);

/* set clear color to black and clear window */

glClearColor (0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glFlush();



/* callback routine for reshape event */

glutReshapeFunc(myReshape);

}

void mouse(int btn, int state, int x, int y)
{
if(btn==GLUT_RIGHT_BUTTON && state==GLUT_DOWN) exit(0);
}

/* display callback required by GLUT 3.0 */

void display(void)
{}

int main(int argc, char** argv)
{

glutInit(&argc,argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutCreateWindow("square");
myinit ();
glutReshapeFunc (myReshape);
glutMouseFunc (mouse);
glutMotionFunc(drawSquare);
glutDisplayFunc(display);

glutMainLoop();

}

Comments

Popular posts from this blog

Maxon Cinema 4D Studio R13.058 full Keygen Cracked Version | Mediafire Torrent Download Link

Download Maxon CINEMA 4D Studio Full Version With Keygen -Everything You Need for High-End 3D 32 and 64 bit MAXON CINEMA 4D STUDIO R13.058 (x86/x64) CINEMA 4D Studio is the very best that MAXON has to offer for professional 3D artists. If you want to create advanced 3D graphics but need a helping hand to ensure you create jaw-dropping graphics quickly and easily, then this is the choice for you.                     All You Ever Wanted This is our top-of-the-line product. It not only contains everything the other CINEMA 4D versions offer - it goes far beyond. CINEMA 4D Studio has all the tools you need to tackle even the most complex project. Minimum System Requirements Windows XP, Vista or 7 running on Intel or AMD CPU with SSE2-Support; Mac OS X 10.5.8 or higher running on an Intel-based Mac; 1024 MB free RAM, DVD ROM drive. Standard DVD installation can take up to 4 GB of disk space. Software must be registered for permanent use. SUPPORTED OPERATING SYS

C Program to add two matrices using pointers.

  #include<stdio.h> main() { int a[5][5],b[5][5],c[5][5],i,j,m,n; printf("\n Enter the Dimension of the Matrix:\n"); scanf("%d%d",&m,&n); printf("\nEnter the Elements of the first matix:"); for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%d",(*(a+i)+j)); } } printf("\nEnter the elements of the second matrix:\n"); for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%d",(*(b+i)+j)); } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { *(*(c+i)+j)=*(*(a+i)+j)+ *(*(b+i)+j); } } printf("\nResultantMatrix:\n"); for(i=0;i<m;i++) { for(j=0;j<n;j++) { printf("%5d",*(*(c+i)+j)); } printf("\n"); } getch(); } Output:  Enter the Dimension of the Matrix: 2  2 Enter the Elements of the first matix: 1   2   3   4 Enter the elements of the second matrix: 9   8   7  6 ResultantMatrix:  

C Program to create a Teapot using OpenGL

  C Program to create a Teapot using OpenGL # include <stdio.h> # include <GL/glut.h> void wall ( double thickness ) { glPushMatrix ( ) ; glTranslated ( 0.5 , 0.5 * thickness , 0.5 ) ; glScaled ( 1.0 , thickness , 1.0 ) ; glutSolidCube ( 1.0 ) ; glPopMatrix ( ) ; } void tableLeg ( double thick , double len ) { glPushMatrix ( ) ; glTranslated ( 0 , len / 2 , 0 ) ; glScaled ( thick , len , thick ) ; glutSolidCube ( 1.0 ) ; glPopMatrix ( ) ; } void table ( double topWid , double topThick , double legThick , double legLen ) { glPushMatrix ( ) ; glTranslated ( 0 , legLen , 0 ) ; glScaled ( topWid , topThick , topWid ) ; glutSolidCube ( 1.0 ) ; glPopMatrix ( ) ; double dist = 0.95 * topWid / 2.0 - legThick / 2.0 ; glPushMatrix ( ) ; glTranslated ( dist , 0 , dist ) ; tableLeg ( legThick , legLen ) ; glTranslated ( 0.0 , 0.0 , - 2 * dist ) ; tableLeg ( legThick , legLen ) ; glTransla