[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