part 1:
Specifically, you will 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, your 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. For simplicity, 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 geome- try coordinate system. So your code should transform the mouse position from matrix coordinate to geometry coordinate. For simplicity, you can assume the height of the window is fixed.
part 2:
You will 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.
Hello, I am expert with c, c++ and opengl since more than 20 years ago...I should be a good option for this project. I can make a genuine version for you. Zero copy+paste.
$55 USD in 3 giorni
5,0 (117 valutazioni)
7,3
7,3
8 freelance hanno fatto un'offerta media di $74 USD
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 environment. I made many great projects using c++, for example, I made the tools which could convert java codes into c++ scripts, of course garbage collection included, this was very similar to a compiler, and was very complex. I also made our own mobile game using c++, I can show you the demo of client, if you like. I am very proficient in java also. I have a very good review on Freelancer.com, I never miss a project once I accept the job, you can check my review. Trust me, please let expert help you.
Hello,
expert in OpenGL and C++ programming here. I can implement for you the two required programs: one that will let you interactively draw circles when you left click with your mouse. The other program will do 2D transform as per your written description.
The code will be clean and well commented. Also 100% original because I assume your teacher will check for cheating.
Thanks and let me know if you are interested to work with me,
Paul
Hello. How are you.
I have read and understood the project.
I'm an Expert in Data Structures and Algorithms.
And I know well ;
Java ,C/C++, Python ,PHP.
I'm interested this project.
So, firstly I want to discuss with you about this project.
Then I'll be happy.
I wait for your good reply.
Thanks.
Hello! I am experienced OpenGL software engineer. It would be a pleasure for me to work with you. I am looking forward to receiving a message.
Liubomyr
Hi,
I'm paxionated by making games as a low-level programmer. I actually making my building blocks for creating my own game engine. I have created a custom memory allocator for managing fragmentation and reducing times that my program request to OS for heap space and created my own math library using SIMD from Intel SSE for speedup matrix4 multiplications up to 4x faster and started creating my task scheduler for async function handling on a multithreaded environment. Would love to develop your application! Come talk to me, send me a msg here on freelancers and we can make a deal.
Thank you!