We didn't learn anything new this week but we did watch a video about the making of Brutal Legend to show how what we learned is applied in popular games. Our second lecture this week was just a review for our midterm after reading week.
Overall the video was really interesting to watch and the developers made some really smart choices when developing Brutal Legend. One thing that really surprised me was how they chose to render the sky. They chose to make their sky one giant particle instead of using a traditional sky-box. They also talked a lot about how they did particle rendering and lighting.
Sunday, 16 February 2014
Saturday, 8 February 2014
Week 5 - Lighting and Shadow Maps
This week we talked about global illumination and shadow mapping.
Global illumination is a general name for a group of algorithms used to give more realistic lighting to a 3D scene. These algorithm's allow objects to be lit not only from light rays directly from the light source but also by rays that have bounced off of other surfaces. As seen in the image above the white surfaces are tinted with colour cause by the light rays that have bounced off of the coloured green and red walls.
Ray tracing is a technique that can be used to achieve more realistic lighting in a scene. Ray tracing is basically trying to simulate rays of light. Ray tracing is done by tracing rays of light from a light source and checking to see how it interacts with the objects in the scene and render accordingly.
Shadows:
Shadows are caused by absence of light in an area. In a 3D scene this is usually because there is an object in-between the light source and the object creating an obstruction for the light.
Shadow Maps:
The algorithm for shadow mapping that we went over in class required 2 rendering passes. During the first pass you would render the scene from the light's viewpoint, draw blockers and store nearest z in the z-buffer and the resulting depth buffer is the shadow map. The second pass is done from the observer's viewpoint and you compare the depth of each pixel against the shadow map to determine which pixels are in shadows.
Sunday, 2 February 2014
Week 4 - Fullscreen Effects/ PostProcessing
This week we learned about full screen effects and post processing effects like blur and bloom.
Blur:
Blurring is done by applying a filter to the texture of your frame where each frame is assigned a weighting.
In the image above each pixel is equally weighted.
Gaussian blurring is done in a similar way except each source pixel is not equally weighted, pixels are weighted higher in the center. As a result, bigger the window the stronger the blurring.
HDR/Bloom:
HDR and Bloom are post processing effects that are actually quite simple to do, they are done by doing multiple pass-throughs before displaying the final image.
1. Render 3D scene to offscreen framebuffer
2. Highlight bright areas(tone-mapping)
3. Apply a Gaussian blur to highlighted areas
4. The final image is equal to the blurred frame + the initial 3D scene
Above is an example of HDR and bloom in a video game, in this case it is The Legend of Zelda : Wind Waker HD remake.
GDW:
We are planning on adding some postprocessing effects into our game and currently we are working on our framework to make these effects easier to implement.
Blur:
Blurring is done by applying a filter to the texture of your frame where each frame is assigned a weighting.
In the image above each pixel is equally weighted.
Gaussian blurring is done in a similar way except each source pixel is not equally weighted, pixels are weighted higher in the center. As a result, bigger the window the stronger the blurring.
HDR/Bloom:
HDR and Bloom are post processing effects that are actually quite simple to do, they are done by doing multiple pass-throughs before displaying the final image.
1. Render 3D scene to offscreen framebuffer
2. Highlight bright areas(tone-mapping)
3. Apply a Gaussian blur to highlighted areas
4. The final image is equal to the blurred frame + the initial 3D scene
Above is an example of HDR and bloom in a video game, in this case it is The Legend of Zelda : Wind Waker HD remake.
GDW:
We are planning on adding some postprocessing effects into our game and currently we are working on our framework to make these effects easier to implement.
Saturday, 25 January 2014
Week 3 - Lighting
This week we learned about lighting and the effects it can have on video games.
Currently in our game we only have the simple OpenGL lighting implemented. We do plan on adding better lighting and shadows to our game and what we learned this week will help us do that .
Dr.Hogue talked about the importance of light in video games. Lighting creates mood and emotion, it can also make things look more realistic.
Another important thing to note is that lighting is additive and is made up of 4 different components; emissive light, diffuse light, specular light, and ambient light.
emissive: Self-illumination which equally radiates in all directions from a surface.
diffuse: Reflection of light from a surface
specular: Bright highlight on an object caused by direct reflection
ambient: Light that affects all objects in a scene equally.
Dr.Hogue also showed us some of the shader code required to do these lighting techniques. I was surprised at how little code is actually required to compute lighting which seems so complicated.
Finally we looked at toon shading. I really like toon shading and I didn't think it was as simple as Dr.Hogue showed us. Toon shading is done by taking the max dot product of N and L and that value is used to determine what amount of light or what colour the pixel is. The results can be really beautiful.
In terms of the progress of our game we are currently working on modifying our model loader to use vbo's and vao's. After this is complete we can start working on creating some really cool lighting and shader effects to make our game look awesome.
- Mark Henry
Currently in our game we only have the simple OpenGL lighting implemented. We do plan on adding better lighting and shadows to our game and what we learned this week will help us do that .
Dr.Hogue talked about the importance of light in video games. Lighting creates mood and emotion, it can also make things look more realistic.
Another important thing to note is that lighting is additive and is made up of 4 different components; emissive light, diffuse light, specular light, and ambient light.
emissive: Self-illumination which equally radiates in all directions from a surface.
diffuse: Reflection of light from a surface
specular: Bright highlight on an object caused by direct reflection
ambient: Light that affects all objects in a scene equally.
Dr.Hogue also showed us some of the shader code required to do these lighting techniques. I was surprised at how little code is actually required to compute lighting which seems so complicated.
Finally we looked at toon shading. I really like toon shading and I didn't think it was as simple as Dr.Hogue showed us. Toon shading is done by taking the max dot product of N and L and that value is used to determine what amount of light or what colour the pixel is. The results can be really beautiful.
In terms of the progress of our game we are currently working on modifying our model loader to use vbo's and vao's. After this is complete we can start working on creating some really cool lighting and shader effects to make our game look awesome.
- Mark Henry
Tuesday, 14 January 2014
Week 1 - Prelude
Thoughts
This week we learned an introduction to shaders. Last semester we learned a bit about shaders, but we basically coded extremely simple shaders that, for example, change the colour of a square. There are two types of shaders, pixel shaders and fragment shaders. After seeing examples of what can be done with shaders like bump mapping and normal mapping, I'm really excited to improve our game from last semester.
Future Plans
One thing I think we should do to improve our game is lower the poly count of our models and make them look nice with shaders instead of insane amounts of geometry. Currently our models consist of a lot of geometry, especially the character models. It hasn't been a problem since our game was just a prototype and not much was going on. Since this semester we plan on doing a lot more with our game, I think our engine will really benefit from lower poly models. I look forward to actually coding and implementing shaders.
Development Progress
Currently working implementing shaders into our existing framework.
- Mark Henry
Subscribe to:
Posts (Atom)





.jpg)

.jpg)
.jpg)


