[FSUG-Bangalore] any body worked with opengl? any help is appretiated (renuka prasad)

renuka prasad renukaprasadb at gmail.com
Fri Mar 27 10:28:11 IST 2009


2009/3/27 Arvind K <arvindkhadri at gmail.com>

>
>
> > i got a program from this link
> >
> >
> http://people.sc.fsu.edu/~burkardt/cpp_src/rotating_cube_display_open_gl/rotating_cube_display_open_gl.html<http://people.sc.fsu.edu/%7Eburkardt/cpp_src/rotating_cube_display_open_gl/rotating_cube_display_open_gl.html>
> <
> http://people.sc.fsu.edu/%7Eburkardt/cpp_src/rotating_cube_display_open_gl/rotating_cube_display_open_gl.html
> >
> >
> >
> >
> http://people.sc.fsu.edu/~burkardt/cpp_src/rotating_cube_display_open_gl/rotating_cube_display_open_gl.html<http://people.sc.fsu.edu/%7Eburkardt/cpp_src/rotating_cube_display_open_gl/rotating_cube_display_open_gl.html>
> <
> http://people.sc.fsu.edu/%7Eburkardt/cpp_src/rotating_cube_display_open_gl/rotating_cube_display_open_gl.html
> >
> >
>
> the program i have pasted below -- might be missing some lines as i removed
> few lines ( comments ) while pasting here , the actual program is at the
> bottom of the page ( link provided above )
>
> >
> > # include <cstdlib>
> > # include <cmath>
> > # include <iostream>
> > # include <iomanip>
> > # include <fstream>
> >
> > # include <GL/glut.h>
> >
> > using namespace std;
> >
> > GLfloat vertices[][3] = {
> >   { -1.0, -1.0, -1.0 },
> >   {  1.0, -1.0, -1.0 },
> >   {  1.0,  1.0, -1.0 },
> >   { -1.0,  1.0, -1.0 },
> >   { -1.0, -1.0,  1.0 },
> >   {  1.0, -1.0,  1.0 },
> >   {  1.0,  1.0,  1.0 },
> >   { -1.0,  1.0,  1.0 } };
> >
> > GLfloat normals[][3] = {
> >   { -1.0, -1.0, -1.0 },
> >   {  1.0, -1.0, -1.0 },
> >   {  1.0,  1.0, -1.0 },
> >   { -1.0,  1.0, -1.0 },
> >   { -1.0, -1.0,  1.0 },
> >   {  1.0, -1.0,  1.0 },
> >   {  1.0,  1.0,  1.0 },
> >   { -1.0,  1.0,  1.0 } };
> >
> > GLfloat colors[][3] = {
> >   { 0.0, 0.0, 0.0 },
> >   { 1.0, 0.0, 0.0 },
> >   { 1.0, 1.0, 0.0 },
> >   { 0.0, 1.0, 0.0 },
> >   { 0.0, 0.0, 1.0 },
> >   { 1.0, 0.0, 1.0 },
> >   { 1.0, 1.0, 1.0 },
> >   { 0.0, 1.0, 1.0 } };
> >
> > static GLint axis = 2;
> > static GLfloat theta[3] = { 0.0, 0.0, 0.0 };
> >
> > int main ( int argc, char *argv[] );
> > void colorcube ( );
> > void display ( );
> > void mouse ( int btn, int state, int x, int y );
> > void myReshape ( int w, int h );
> > void polygon ( int a, int b, int c, int d );
> > void spinCube ( );
> >
> >
> >
> > int main ( int argc, char *argv[] )
> > {
> >   glutInit ( &argc, argv );
> >   glutInitDisplayMode ( GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH );
> >   glutInitWindowSize ( 500, 500 );
> >   glutInitWindowPosition ( 0, 0 );
> >   glutCreateWindow ( "Rotating cube" );
> >   glutReshapeFunc ( myReshape );
> >   glutDisplayFunc ( display );
> >   glutIdleFunc ( spinCube );
> >   glutMouseFunc ( mouse );
> >   glEnable ( GL_DEPTH_TEST );
> >   glutMainLoop ( );
> >
> >   return 0;
> > }
> > void colorcube ( )
> >
> > {
> >   polygon ( 0, 3, 2, 1 );
> >   polygon ( 2, 3, 7, 6 );
> >   polygon ( 0, 4, 7, 3 );
> >   polygon ( 1, 2, 6, 5 );
> >   polygon ( 4, 5, 6, 7 );
> >   polygon ( 0, 1, 5, 4 );
> >
> >   return;
> > }
> >
> > void display ( )
> >
> >   glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
> >
> >   glLoadIdentity ( );
> >
> >   glRotatef ( theta[0], 1.0, 0.0, 0.0 );
> >   glRotatef ( theta[1], 0.0, 1.0, 0.0 );
> >   glRotatef ( theta[2], 0.0, 0.0, 1.0 );
> >
> >   colorcube ( );
> >   glFlush ( );
> >   glutSwapBuffers ( );
> >
> >   return;
> > }
> >
> >
> > void mouse ( int btn, int state, int x, int y )
> > {
> >   if ( btn == GLUT_LEFT_BUTTON && state == GLUT_DOWN )
> >   {
> >     axis = axis + 1;
> >   }
> >   if ( btn == GLUT_MIDDLE_BUTTON && state == GLUT_DOWN )
> >   {
> >     axis = axis + 1;
> >   }
> >   if ( btn == GLUT_RIGHT_BUTTON && state == GLUT_DOWN )
> >   {
> >     axis = axis + 1;
> >   }
> >   axis = axis % 3;
> >
> >   return;
> > }
> >
> > void myReshape ( int w, int h )
> > {
> >   glViewport ( 0, 0, w, h );
> >   glMatrixMode ( GL_PROJECTION );
> >   glLoadIdentity ( );
> >
> >   if ( w <= h )
> >   {
> >     glOrtho (
> >       -2.0, 2.0,
> >       -2.0 * ( GLfloat ) h / ( GLfloat ) w, 2.0 * ( GLfloat ) h / (
> GLfloat
> > ) w,
> >       -10.0, 10.0 );
> >   }
> >   else
> >   {
> >     glOrtho (
> >       -2.0 * ( GLfloat ) h / ( GLfloat ) w, 2.0 * ( GLfloat ) h / (
> GLfloat
> > ) w,
> >       -2.0, 2.0,
> >       -10.0, 10.0 );
> >   }
> >
> >   glMatrixMode ( GL_MODELVIEW );
> >
> >   return;
> > }
> >
> >
> > void polygon ( int a, int b, int c, int d )
> >
> > {
> >   glBegin ( GL_POLYGON );
> >
> >   glColor3fv ( colors[a] );
> >   glNormal3fv ( normals[a] );
> >   glVertex3fv ( vertices[a] );
> >
> >   glColor3fv ( colors[b] );
> >   glNormal3fv ( normals[b] );
> >   glVertex3fv ( vertices[b] );
> >
> >   glColor3fv ( colors[c] );
> >   glNormal3fv ( normals[c] );
> >   glVertex3fv ( vertices[c] );
> >
> >   glColor3fv ( colors[d] );
> >   glNormal3fv ( normals[d] );
> >   glVertex3fv ( vertices[d] );
> >
> >   glEnd ( );
> >
> >   return;
> > }
> >
> >
> > void spinCube ( )
> >
> > {
> >   theta[axis] = theta[axis] + 0.020;
> >   if ( 360.0 < theta[axis] )
> >   {
> >     theta[axis] = theta[axis] - 360.0;
> >   }
> >   glutPostRedisplay ( );
> >
> >   return;
> > }
> >
> > -------------------------------
> >
> > I compiled using command
> > rvcemcabrp at rvcemcabrp-laptop:~/Desktop/opengl$ g++
> > rotating_cube_display_open_gl.C -lm -lGL -lGLU -lglut
> >
> > then i tried  this
> >
> > ./a.out
> > X Error of failed request:  BadRequest (invalid request code or no such
> > operation)
> >   Major opcode of failed request:  143 (GLX)
> >   Minor opcode of failed request:  19 (X_GLXQueryServerString)
> >   Serial number of failed request:  12
> >   Current serial number in output stream:  12
> > rvcemcabrp at rvcemcabrp-laptop:~/Desktop/opengl$
> >
> > i want solution for any of the following problems
> >
> >
> > ------------------ this is for one of the labs for BE ( computer science
> > students -- VI semester )
> >  Implement the following programs in C / C++
> >
> >
> >    1. Program to recursively subdivide a tetrahedron to from 3D
> Sierpinski
> >    gasket. The number of recursive steps is to be specified by the user.
> >    2. Program to implement Liang-Barsky line clipping algorithm.
> >
> > 3.     Program to draw a color cube and spin it using OpenGL
> transformation
> > matrices.
> >
> > 4.   Program to create a house like figure and rotate it about a given
> > fixed point using   OpenGL functions.
> >
> > 5.    Program to implement the Cohen-Sutherland line-clipping algorithm.
> > Make provision    to specify the input line, window for clipping and view
> > port for displaying the clipped image.
> >
> > 6.    Program to create a cylinder and a parallelepiped by extruding a
> > circle and
> >
> >      quadrilateral respectively. Allow the user to specify the circle and
> > the quadrilateral.
> >
> > 7    Program, using OpenGL functions, to draw a simple shaded scene
> > consisting of a tea pot on a table. Define suitably the position and
> > properties of the light source along with the properties of the
> properties
> > of the surfaces of the solid object used in the scene.
> >
> >    1. Program to draw a color cube and allow the user to move the camera
> >    suitably to experiment with perspective viewing. Use OpenGL functions.
> >    2. Program to fill any given polygon using scan-line area filling
> >    algorithm. (Use appropriate data structures.)
> >    3.  Program to display a set of values { fij } as a rectangular mesh.
> >
> >
> > Part B
> >
> > Develop a suitable Graphics package to implement the skills learnt in the
> > theory and the exercises indicated in Part A. Use the OpenGL.
> >
> >
> >
>
> i have ran opengl progs :) i ran it as
> gcc -lglut <filename.c> -o <output file name >
>
> more on this blog
>
> http://techietipsandtricks.blogspot.com/2009/03/opengl-using-gcc-in-ubuntu.html
>

i followed your instructions,
still i am getting the following error ,

rvcemcabrp at rvcemcabrp-laptop:~/Desktop/opengl$ g++ -lm -lGL -lGLU -lglut
rotating_cube_display_open_gl.C -o out3d
rvcemcabrp at rvcemcabrp-laptop:~/Desktop/opengl$ ls
a.out                              rotating_cube_display_open_gl.csh~
out3d                              rotating_cube_display_open_gl.o
rotating_cube_display_open_gl.C    rotating_cube.png
rotating_cube_display_open_gl.csh
rvcemcabrp at rvcemcabrp-laptop:~/Desktop/opengl$ out3d
bash: out3d: command not found
rvcemcabrp at rvcemcabrp-laptop:~/Desktop/opengl$ ./out3d
X Error of failed request:  BadRequest (invalid request code or no such
operation)
  Major opcode of failed request:  143 (GLX)
  Minor opcode of failed request:  19 (X_GLXQueryServerString)
  Serial number of failed request:  12
  Current serial number in output stream:  12
rvcemcabrp at rvcemcabrp-laptop:~/Desktop/opengl$

>
> --
> My Fingerprint:1024D/67CF3C40 :7C43 BB90 1E92 2E8D 647A  5DB0 DC64 0799
> 67CF 3C40
> Arvind: https://launchpad.net/~arvindkhadri<https://launchpad.net/%7Earvindkhadri>
> The box said Windoze or better,so i installed Linux
> http://techietipsandtricks.blogspot.com
> http://xkcd.com/272/
> Registered Linux User #46760
> arvind_khadri (on irc.freenode.net)
>
> _______________________________________________
> FSUG-Bangalore mailing list
> FSUG-Bangalore at mm.gnu.org.in
> http://mm.gnu.org.in/cgi-bin/mailman/listinfo/fsug-bangalore
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mm.gnu.org.in/pipermail/fsug-bangalore/attachments/20090327/f132a3a6/attachment-0001.htm 


More information about the FSUG-Bangalore mailing list