Suljettu

I would like to hire an OpenGL Developer - 11/02/2017 05:57 EST

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

Taidot: C-ohjelmointi, OpenGL, Ohjelmistokehitys

Näytä lisää: app developer freelance for hire, web developer services for hire, web developer ontario for hire, web developer irc chatroom hire, software developer services for hire, software developer philippines for hire, python developer london for hire, joomla developer services for hire, content developer writer for hire orlando, asp net developer c# for hire, asp net developer c for hire, app developer services for hire, app developer chiswick for hire, android developer services for hire, iphone developer resource provider hire

About the Employer:
( 0 reviews ) United States

Projektin tunnus: #13071733

7 freelanceria on tarjonnut keskimäärin 76 $ tähän työhön

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 Lisää

150 $ USD 2 päivässä
(75 arvostelua)
6.5
renardpaul

Hello, expert in OpenGL programming here. I can implement the required 2 parts for you (interactive drawing and 2d transformations). Thanks and let me know if you are interested to work with me, Paul

120 $ USD 5 päivässä
(63 arvostelua)
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 Lisää

30 $ USD 1 päivässä
(2 arvostelua)
5.7
50 $ USD 1 päivässä
(36 arvostelua)
5.0
xzan88

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

50 $ USD 1 päivässä
(46 arvostelua)
5.2
bobanpetar

Hello, I can develop this for you within next 3 days. Hope to hear from you soon. Best regards, Petar Boban

77 $ USD 3 päivässä
(7 arvostelua)
5.1
techwizards2

Dear Client, Thanks for providing us opportunity to place bid over the project and communicate with [url removed, login to view] mainly deal in web development, SEO, Android App, software testing and graphic design. Our vision is to b Lisää

23 $ USD 6 päivässä
(0 arvostelua)
0.0
cvalero

Hello! I have extensive experience developing interactive graphics software in OpenGL, in both C/C++ and Java using the jogl OpenGL bindings. Are your requirements for C/C++? Windows, Linux or Mac OS? I guess if you u Lisää

55 $ USD 1 päivässä
(0 arvostelua)
0.0