Week 3

Primitive Beziers
Using the polygonal shapes as references, Bezier Curves and Surfaces were implemented. The current version allows inputting points via the input file and allows to color using either color or material. The Bezier curve uses 1D evaluator to determine the curve between the control points, while the Bezier surface uses 2D evaluator to determine the grid-style surfaces based on the control points. I want to extend this further to allow the user to select evenly-spaced grids or user-selected grids.

Improved Camera
To allow the application to be more user-friendly, I installed the camera via the mouse to simulate a Maya-style movement. This allows me to clean the interface on the left hand side and use that for object-manipulation rather than wasting the space for camera.

Display Lists
Efficiency is key, especially when detailed scenes or simulations will be applied to the application. The first of many display lists have been installed to the View object, which sets up the perspective / orthographic view. This is performed by setting up the list upon resizing the window. The list setup includes deleting the current list (if available), make the necessary changes such as updating the values in the functions, and reapplying the lists.

Improved GUI / States
To get a head start on the Global States subproject, I implemented a subwindow on the bottom of the application. This window holds the global states that will be manipulated by the user. Currently installed states include Lighting, Texture, Shading Model, Depth Test, and Culling. States are connected to the global GLConstants class.

Grid
A grid based on the origin was created to illustrate a world-origin plus allow for world transforms concept. This will make it easier to see objects orientation and to determine if they are on the proper axis. In the nearby future, the grid will be customizable to incorporate the detail (such as rows, columns, and spacing) as well as the presence of a grid.

Shaders
I started researching OpenGL Shading Language via the web, the Orange Book, and the OpenGL SuperBible. I found the SuperBible to be the best reference. One problem that is preventing me from continuing on is setting up the application to accept Shaders. I am currently running OpenGL 2.0 on my ATI All-In-Wonder X600 PCI Express Card. The problem is that I get an error when I try to run the GLSL standard functions, such as glCreateShader. I took the next step by installed GLEW onto the machine. The debug errors went away, but when I went to run the program, it throws an error upon hitting it.

GUI
I am researching several GUI opportunities that will allow for dynamic GUI creations for when an object is selected; a toolbox; or various other ways to perform tasks. GLUI allows a very, primitive but effective method to connect to OpenGL but it is difficult to note if dynamic GUIs (menus/windows) are possible. I did some research on wgl, which is based on Windows. This is a potential solution since I was able to add OpenGL with menubar and popup dialog, but I need to perform future research to see how to implement idle and timer states for simulations. On top of that, I still need to see if this will allow for dynamic GUI creation.

Weekly Notes
Project-specific sections:

> Week 1 Notes
> Week 2 Notes
> Week 3 Notes
> Week 4 Notes
> Week 5 Notes
> Week 6 Notes
> Week 7 Notes
> Week 8 Notes
> Week 9 Notes
> Week 10 Notes
> Week 11 Notes
> Week 12 Notes
> Week 13 Notes
> Week 14 Notes
> Week 15 Notes
> Week 16 Notes
> Week 17 Notes
> Week 18 Notes
> Week 19 Notes
> Week 20 Notes

Home | About Raina3D | About Us | Thanks | Contact
Copyright (c) 2005-2009 Raina3D All rights reserved.