lundi 22 février 2010

Week 19 [15/02 to 21/02]

Work Of The Week



The work was focused on two main points: the lightning and picking problems. The picking was solved, for a single picking action. But on the lightning side, the problem is still there. Few part of the lightning problem were solved, like the light colour is now applied correctly. But there is still a problem of lightning and shading, that makes the mesh looks either too dark or too clear.


Total worked: 12 hours 30.



Lightning



More reading (or re-reading) were done, to try to find the possible trouble in the configuration of the light. First of all the GL_NORMALIZE was not enabled, creating distortion in the normals (the mesh are scaled to fit in a single unit of space). Then some modifications were made on the material of the mesh, in order to have a result colour from the light's colour and the mesh's one. With these modifications the light intensity seams to reduce, creating almost good results with the sphere mesh, but still strange one with the face.

A new option appeared for the shading view: enabling or not the culling (hiding the backward looking faces) resulting in better rendering of full meshes (like the sphere) or even the face (if some part of the mesh can't be seen they are not drawn).


Results on Windows 7 (home)



Results on Windows XP (university)




Time worked:
5 h

Picking



The work on the picking was simply to create a "pikcing mode" that will allow the user to select vertices without moving the view. The picking mode reveals the vertices (in any views). Some options were added to the selection, like cleaning it (removing all points in it).

Saving the selection or the whole mesh is now possible, as the new two options are present in the menu.

Finally a "picking precision" was, more or less, started, and then aborted. The idea was to allow the user to select more than one point by enlarging the "selection rectangle". The solution was too difficult to use (as a user) and did not have good results.

Time worked:
7 h 30

Information And References



No new document nor references were used this week, as it was mostly to continue the previous work.




Next Week prevision



As the picking problem is solved, it can now be improved. But as my meeting with Eyad was cancelled (snow on Friday), some more efforts will be put on the lightning solving and the picking improvement.

lundi 15 février 2010

Week 17 and 18 [01/02 to 14/02]

Work Of The Week 17


Most of the work was just minor modifications to the interface, in order to link the new options created for the picking. The Middle Project Review was also compiled, and is available there



Total worked: 4 hours 30.



Middle Project Review writing



Review on the project current state, that is late compared to the original planning, but not out of time. More details are available in the document itself.


Time worked:
1 h 30

Minor modifications


The modifications were mostly on the interface, adapting the button event processing and other issues.

This work also introduced a modification on the log code entries, to change all (int)this pointers to long in order to be 64 bits memory width compatible. The OpenGL logging was also creating this week, in order to display understandable returns of errors.

Finally a bit of the lightning development was done, mostly light colour deals, and search to understand the source of the problems.

Time worked:
3 h

Information And References



The only references this week are about OpenGL lightning, from the OpenGL manual or few lightning tutorials.






Work Of The Week 18


Mainly the work of the week was to finalise and correct the issues of the picking process. Even if it was almost working, points were selected but unselectable, or even distant points were selected instead of the good ones.



Total worked: 7 hours.



Picking issues



The main work of the week was to read more about picking, to verify that the website were I took the algorithm was correct, and also to review my adaptation of it. The problems were due to tiny differences during the drawing or selection process, that are difficult to find. The algorithm I found was correct, but my interpretation of it had several mistakes, creating sometime the strange behaviours.

Most of the original problems (unselection and select unwanted vertex) came from the filling of the picking stack in OpenGL. At the end of the week the problem of unwanted selection is still present, even after the correction of several minor mistakes.

Few modification were also done on the update process in order to display the current mesh correctly. The selection does not, for a yet unknown reason, accept display in shaded view.

Time worked:
7 h

Information And References



The week reference is a book: Interactive Computer Graphics, a top-down approach using OpenGL, 4th edition, from Edward Angel and published by International Edition. The chapter about lightning and picking were consulted (respectively 3.7 and 6)




Next Week prevision


Next week is almost the dead-end for the lightning and picking troubles, as the second part of the project has to start soon.

lundi 1 février 2010

Week 13 to 16 [04/01 to 31/01]

Work Of The Week 13


Few was done during this week, especially because the exams were coming.


Total worked: 3 hours.



Minor modifications



Several minor modifications were made on the interface, on the settings mostly. New options were added, as drawing the axis according to the settings and other view modification (moving from glFrustum to gluPerspective).

Time worked:
3 h



Weeks 14 and 15

were exams' week, no work during that period.


Work Of The Week 16



This week focused on the picking development. Some problems occurred during the development of this part of the project, forcing me to develop a simpler software. The picking algorithm is not complicated, but as the overall project code begins to be bigger and bigger, it was quite difficult to understand were could the mistakes be.


Total worked: 9 hours.


In order to handle correctly the picking process, several classes needed to be adapted. First of all the Selection class has to be created, that represents some selected points from a NormalisedMesh. The SelectionWidget and SelectionListWidget were also adapted to recognise both meshes and selection separately.

Picking Software


My first attempt to picking was not successful. Either none or too much points were found on the stack. As the drawing process of the mesh is split in several objects, required by the complicated interface of the viewer, it could have been quite a nightmare to debug. Therefore I created a smaller project, handling only picking and minimal user interaction to find the problems.

This software simply draw a pyramid, were the points could be selected. The first development was also a failure, as for a strange reason, when the rotation and translation possibilities were added the picking just fail. Some minor issues were corrected to make it working almost. The real honours project code was then adapted to handle part of the picking process.

Time worked:
7 h 30

Selection class



Time worked:
1 h 30



Next Week Prevision


Next week the middle project review assessment is due, and should be therefore completed. Moreover several minor points should be revised on the software, as the picking is not perfectly working, nor the lightning and shaded view.


  • Middle Project Review
  • Picking adaptation
  • Lightning and shading