.. (לתיקייה המכילה) | ||
Clarification on some points of the proximity detection implementation. | |
1. The implementation of proximity detection in the OpenGL.exe example program is incorrect. Please use only the HW document as a reference. 2. Only the vertices should be lighted up and there is no need to light up the edges. |
How should we use the color information from IRIT data file? | |
IRIT data files may contain many types of color information. However in your HW you should only use OBJECT color attribute which can be extracted using CGSkelGetObjectColor() and apply this color to all vertices of the object. Note that some IRIT files contain multiple objects. (For Example teapot2.itd) |
Is there any good site with general OpenGL FAQ? | |
You should use the following link. It is a great source for solutions to various problems which may arise during all your HW assignments. | |
קישור: Link: Ссылка: وصلة: | http://www.opengl.org/resources/faq/technical |
Some IRIT files contain non-polygonal objects. What should we do? | |
You should silently (no message) ignore the non-polygonal objects in the itd file and display the polygonal ones. Note that IRIT automatically converts non-polygonal geometry into polygons while parsing it. (Usually only the MATRIX object is parsed as non-polygonal) |
I can’t see anything after loading and drawing the data. What’s wrong? | |
Anything can be wrong at this point. Try to check the following: Was your data loaded correctly? (Cross check you have the same coordinate values as in IRIT file) Is your modelview matrix correct? You should think about initial translation so the object will be visible in fron of the camera. (See the relevant red book chapter) Is your projective matrix setup correctly to show the whole model? (Check clipping planes, scale, aspect ratio, etc.) |
I rotate the model but nothing happens unless I resize the window. | |
Make sure you call the Invalidate() function each time the scene changes. |
How should I draw the normals? | |
If the normal is per face, place it in the middle of the face. THINK ABOUT THE SIZE OF THE NORMAL. The normals should be nicely shown on the screen. There is no information in the size of the normal, just it's direction, so I don't want to see huge normals that are blocking all the view! |
Can I change functions/dialogs/menus you have already implemented in the skeleton? | |
Yes. Skeleton should make your life easier, however if you think you have to change it feel free to do so. |
Should we use IRIT data structure to draw the scene or copy the data into our own once it is parsed? | |
The recommended way to store the object data is to create your own data structure for vertices/objects and store every vertex (and other relevant info) into your own data structure. The process of storing should be done in CGSkelStoreData. Note that you don’t have to use IRIT data structures after the file parsing is complete. Only your own data structure should be used for drawing the objects with OpenGL. |
The example application behaves differently than you requested in the HW description | |
The example is not perfect. Use HW description and your common sense to find the best solution. |
How would you check HW1? | |
All homeworks starting from HW1 will have frontal submission. That means, each pair will get 10-15 minutes to sit in the room with the TA , and show/explain their work . Note that BOTH partners should understand the concepts behind the implementation. |
Grading: This HW has much more MFC elements, will you grade it the same way as HW0? | |
HW1 is about the 3D graphics and not the MFC. So major part of your grade will be based on correctness and stability of the 3D part. However we expect you to submit a usable application, which requires you to implement all the MFC dialogs and controls to behave in a user friendly manner. USE YOUR COMMON SENSE (as will do we when grading your work) and the example OpenGL application as a reference. |