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 : where can i find a software developer to bid on a project, i want a it firm whose hire 2014 batch passout for web developer as a no experience at low salary in pune, how bid the project and massage hire manager i freelancing com, bitcoin developer for hire, atom developer for hire, apple watch developer for hire, app developer for hire, app developer for hire uk, app developer for hire in south africa, app app developer for hire mississauga peel region toronto gta jobs programmers computer, android developer singapore hire, android developer for hire, android app developer for hire, ios developer opengl, hire web coder project skilled web designing coding, hire social networking project, hire making dissertation project, business data access project layer, asp developer bid hire, project layer arcgis server, iphone developer cost hire, hire contract post project bid, iphone developer work hire, buddypress developer website hire, hire expert bid project

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

N° du projet : #13071973

Décerné à :

xzan88

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)
5.5

6 freelance font une offre moyenne de $67 pour ce travail

hbxfnzwpf

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)
6.6
renardpaul

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)
6.0
A2Design

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 [url removed, login to view] Here’s a little video about our team too! ht Plus

30 $ USD en 1 jour
(2 Commentaires)
5.8
sujanttt

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)
4.0
soumenmurmu

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)
4.3