Introduction to 3d graphics

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.

1.Course’s objective

_ 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 ]

2. Model

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

fractal set

procedural definition

+ 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.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s