I am always amazed by computer graphics, especially game. My ultimate goal in life is to program from scratch ( beginning to end ) a game. I have dabbled in OpenGL before but I did not get far because I felt like the basics is missing. Sure I could get the triangle on screen following tutorial here and there but the dot is not clicking. Transformation, camera, and all that, who taught you. Well, I am taking 3d Graphics this semester.
_ The course is for people with little experience in graphics, providing them with good grounding/bases–yes this is what I sign up for.
_ Our target is on rendering algorithm : given numerical data, we would draw/display picture on screen– computer vision
_ The professor said he is a fan of learn by doing. In computer graphics, the best way to actually understand is to do it. Just do it.
_ We( the student ) will be provided with a rendering library and asked to fill up missing parts. At the end of the course, student would be able to make a 3d graphics library.
_ You could exchange ides, solve problem together but when it comes to code, write your own. Don’t copy
_ There will be no final exam. Hoo-ray, so I can go home early. Check the schedule to make sure.
_ The professor is expecting for feedback : “I’m all ear”
[ Some course picture overview here ]
There are a couple of ways to represent model:
+ Triangle meshes, patches, subdivision surfaces
+ Implicit geometric equations that define surface:
circle : x^2 + y^2 + z^2 = r^2
+ Volume data: samples from real world, MRI, ultra sound, simulation
3. Image display
Pixels = picture elements are encoded bit of : color, opacities, etc
Framebuffer = a block of memory that represents pixels by hardware. It could conglomerate the following information:
+ pixels = 1 element of the framebuffer( addressable ), depth : the number of bytes per pixel. E.g : RGBA = 32 bit/pixel ( 8 bit each color )
+ Resolutions = width x height ( in pixels )
+ Z-values ( depth ) : used for hidden surface removal ( Z comparison ), usually 32 bit ( 4 bytes ) . Z buffer
=> The size of the framebuffer = width x height x depth.
E.g : width = 640, height = 480, with RGBA. Buffer size = 640*480*(24 + 8 + 32 ) = 2457 KB
Type : CRT, LCD, HDMI.