En cours

I would like to hire an OpenGL Developer

Part I: Simple Interactive Drawing:

Develop an OpenGL program that allow a user to draw a circle in a position of the OpenGL window by clicking the left button of a mouse. Furthermore, the program should allow the user to draw multiple circles. When the user is done with drawing, he/she can terminate the program by entering the ’q’ or ’Q’. Your code will need to maintain a data structure to record the position of each left-click of mouse. you can use a 2-dimensional array, and assume that the maximum number of left-click is 100. Each time, when there is a GLUT LEFT BUTTON event, your code should insert the current mouse position to the 2-dimensional array.

There are two different coordinate systems in this simple drawing. The mouse position is under the matrix coordinate system, and a vertex for drawing OpenGL geometry primitive is under the geometry coordinate system. So your code should transform the mouse position from matrix coordinate to geometry coordinate.

Further, allow users to erase a circle by clicking the right-button of a mouse

inside a drawn circle. So when there is a GLUT RIGHT BUTTON event, your code should perform a linear retrieval of the array of the left-click points to test whether the right-click point is inside the circle of a certain left-click points. If there is such a point, it should be removed from the array, then the rest of elements should be moved forward to the hole. Since it is possible that the drawn circles are overlapping and the right-click points are inside multiple circles, your code should search through the entire array and remove all “relevant” left-click points.

Part II: 2D Transformation:

Develop an OpenGL program that allow a user to perform 2D affine transformation, including translation, scaling, rotation, on a 2D object (e.g., a solid square), by selecting an transformation item from the popup menu. In this project, you can have two-layer menu as follows:

• Translation

– Horizontal increment

– Horizontal decrement

– Vertical increment

– Vertical decrement

• Scaling

– Horizontal enlarging

– Horizontal shrinking

– Vertical enlarging

– Vertical shrinking

• Rotation

– Clockwise

– Counter-clockwise

Your code will need to maintain several geometry parameters of an object, including horizontal and vertical translation, orientation, and scaling factors. You code should include a function (called menu), in which you should update the geometry parameters of the object.

The object should be “complicated”, i.e., a composition of at least 2 OpenGL geometry primitives.

The following parameters should be used for an individual 2D transformation:

• 5 pixels for horizontal increment/decrement

• 2 for horizontal enlarging, and 0.5 for horizontal shrinking

• 10◦ for a rotation

1. Explicitly construct a transformation matrix in order to perform a speci-

fied 2D transformation to the object. The transformation matrix is represented as a one-dimensional array in OpenGL that is used as a parameter for the OpenGL function glMultMatrix() to update the current transformation matrix.

2. Also, implement a simulation of moving the object. Specifically, the object

is moved around a circle track clockwise and be back to its original position. So it is basically a task of performing a sequence of translations on the object.

NOTE: Submit the source code and readme. The source code should be welldocumented, i.e., having good readability

Compétences : Programmation C, OpenGL, Développement de logiciel

Voir plus : bitcoin developer hire, atom developer hire, apple watch developer hire, app developer hire, android developer singapore hire, android developer hire, android app developer hire, ios developer opengl, hire social networking project, hire making dissertation project, asp developer bid hire, project layer arcgis server, iphone developer cost hire, iphone developer work hire, buddypress developer website hire, hire expert bid project, hire freelancer idx project

Concernant l'employeur :
( 4 commentaires ) Naperville, United States

N° du projet : #13071973

Décerné à :


Hi, I am experienced in C/C++ and OpenGL. I can finish this in one day. Please contact me.......................

40 $ USD en 1 jour
(57 Commentaires)

6 freelance ont fait une offre moyenne de 67 $ pour ce travail


I am very proficient in c and c++. I have 16 years c++ developing experience now, and have worked for more than 7 years. My work is online game developing, and mainly focus on server side, using c++ under Linux environ Plus

150 $ USD en 3 jours
(83 Commentaires)

Hello, expert in OpenGL and C programming here. I can implement for you both parts of your assignment (the interactive drawing of circles and the transformations part). I will use Freeglut (GLUT) to create the windo Plus

120 $ USD en 3 jours
(64 Commentaires)

Hi, Nice project you have there, let us help you with it! Our team is Russian-Canadian. We code in PHP. Check our recent projects here http://www.a2design.biz/portfolio_ Here’s a little video about our team too! ht Plus

30 $ USD en 1 jour
(2 Commentaires)

Hello, I am interested in your project. I have seen the sample codes sample1 and sample2 and will work accordingly using glut. This will be completed in 2 days max. After completion of the project I will immediately pr Plus

25 $ USD en 1 jour
(18 Commentaires)

hi , i am an experienced c++,c, opengl developer and developed codes for windows and linux based platforms . u can visit my profile to view my opengl related works.

35 $ USD en 2 jours
(12 Commentaires)