|
You write we have to present our ex in the CGGS lab. Do you mean we have to prepare a presentation on the ex (slides, whiteboard and markers, etc...) or do we just have to be able to answer your questions about algorithms we used and their way of implementation?
|
I will sit with you and your implementation and its working state, and will ask you questions about it. That will comprise the presentation (no need for further documentation).
|
I have a question about "spaces" defined in the ex1: what exactly is a transformation in view space? Isn't view space what we see n screen (as 2D)?
Okay, let me clarify this point. The View space, is the space in which the whole scene resides. When we multiply the vertices with the TM (the accumulated Transformation Matrix) we get the whole scene represented in the View Space. The World space, is referred to the stage in which a new transformation is applied with respect to the World coordinate system. This coordinate system is constant, and all objects move according to it. The Object space, on the other hand, is referred to the stage in which a new transformation is applied with respect to the objects coordinate system. Both in the World and Object Space, the dTM (the matrix representing a small change in the rot/trans/scale) is multiplied by the TM, and the result is maintained in a new TM. The difference from the both modes is the direction of the multiplication. I recommend you to figure out why this works the way it does. What you have to implement is the multiplication in the both directions, the linkage with the pull down menu, and the addition of the two buttons.
|
What should be rotated/scaled/translate, the objects in the geometry world or the view? In other words, should I apply translation transform on the Shape or on the view?
|
You should never change the database, i.e. the objects in the geometry world. The data is fixed. IF you would change that, on the long run you would loose accuracy (numerically wise) of your model. You have to change the way you see the objects on your screen, via a Transformation Matrix, that is the result of all the small transformations so far.
|
Sensitivity seems to change when we switch from object to view space - should we fix that ? or is that OK ?
|
It shouldn't change drastically, but a small change wouldn't matter.
|
Using perspective projection involves dividing every points x and y elements by the w - element, for object that has points with z<=0 the result will be a distorted object. Should we clip The object for z<=0 ? how can we do this ? we can translate the object in the Z direction first, before projecting it, which will solve the problem, but we think this is not the right way.
|
I will translate the object to be only in the z. You can translate the object at the beginning to be all in the positive/negative z.
|
We started looking at the exercise and for starters we a file. In order to see something on the screen (as part of the load operation ), we read the coordinates from the file and tried to draw them on the screen. The problem we faced was that the coordinates given in the data files are with respect to an origin at the bottom left corner of the screen whereas the windows screen coordinates are with respect to an origin at the top-left corner of the screen.
|
So??? can't you solve this? the center should be at the center of the window, and you should do what u need to accomplish this. (Initial Translation)
|
I need to submit the project by mail (late submission).
The project is huge, how am I supposed to submit it?
All I need is the code and an executable in release mode. This means that you should not submit all of the debug and release directory, nor should you include the .ncb file (which holds fast caching for the VS’s visual assist). The zip file should be ~1MB (or even smaller should you choose to exclude the dll files, which I don’t need as well). Please note that it is problematic to send executables via email. Rename the project to "exa" extension, this should work.
|
|