Worksheet #1

This is the first Worksheet task given to us. The aim is to aid choosing a topic of interest for the Honours research project.

Below are the questions and my answers for them:

State the topic of interest that you may wish to take forward into a project

The topic I have chosen for my honours project is An investigation into the techniques of terrain lighting in real time“. Bear in mind though that this is a very rough title for it as I may fine tune it as the project progresses. However, the main aim is to look into methods of lighting a terrain in real time. I have previously done some work on terrain generation but I have never really got into the process of actually lightning it. In this research period, I hope to dwelve further and investigate various terrain lightning methods in real time.

Indicate the issues surrounding this topic that you may wish investigate

A 3D terrain wouldn’t be complete without lighting. This is especially true for games with huge outdoor setting like flight simulators. It would greatly complicated the mood of the game if the valley casts its shadow upon the village below as viewed from a plane flying overhead or maybe a soldier hiding in the shadows of a huge rock as the sun sets.
Situations described above would basically require real time lighting to the terrain. Lighting a static non deformable terrain with a single static light source is simple compared to lighting a deformable or morphing terrain that has a dynamic light source. What I am interested to find out are the various algorithms used to generate shadow maps for the terrain and  how to optimize them for large scale terrain applications.
I am hoping to research further into producing a streamlined optimized algorithm that is able to consider factors such as self shadowing and shadow interaction with 3D objects in the terrain. Generating shadow maps is a resource heavy operation and I can imagine it only being worse in real time. With the advancement of today’s GPU processing power, I am also hoping to utilize this power to further enhance the performance for generating shadows on terrain in real time.
Hopefully by the end of the research period I would be able to create an efficient and fast real time terrain lighting demo. I would hope to include simple 3D objects in the scene and perhaps incorporate some clouds to further demonstrate the real time shadowing capabilities.


4 thoughts on “Worksheet #1

  1. Hey,

    Just wanted to say that having seen your terrain videos from last term this sounds like it will result in an awesome demo, especially if you get shadows from clouds appearing.

    Best of Luck 😀

  2. Thanks Hazel ; I hope I could include all the features that I want in the final product.

    Best of luck in your project too!

  3. Oh no, I was beaten to commenting on your blog :p

    Anyway, I'm greatly looking forward to seeing what might result from this investigation, as I genuinely regard real time lighting as one of the most exciting and impressive effects in a 3D simulation, as it really can alter the entire mood and emotional impact of a scene, and is a key immersive effect in almost any medium. Plus, it will generate a great response from people viewing it 😀

    In what graphics API will this be coded? Shall the terrain mesh be generated or pre-compiled? Perhaps a pre-generated one may be of a larger benefit, as you can compare different lighting implementations upon the same landscape for easier results. How much control shall there be of the light source; will it be a solar style model, where it can move around the sky in a realistic sun style arc, a free floating light emitter, or perhaps the ability to switch between the two? Hopefully the graphic cards in the labs can keep up with a real time simulation of this scope, and if not, the computers in the Master's lab certainly will :p

    By the way, this is a great resource for online programming related material:

    Hope to see some eye melting results! 🙂

  4. Hi James,

    Thanks for the comments! I am looking at using DirectX API (and of course C++) to code the demo at the moment but I am also researching if OpenGL could be a more beneficial one.

    I am hoping to implement a procedural type terrain that is generated in real time as that's what I did last year. As for the lighting, I will be focussing on just simulating a single source from the Sun at the moment. I will pre-determine the path of the Sun but I will let the user control the speed on the movement. So I guess it will be a sun style arc but there's a lot of other factors to consider to make it realistic such as atmospheric scattering and other emission properties. I am not sure if I have the time to implement that much detail into the lighting but at the moment it will be a single multi directional light source moving at an arc.

    I have looked at some previous papers done on almost similiar topics and I reckon a video card of the same power as a Nvidia 8800 GT or better should be able to render it. I will try to optimize the code so it won't be resource heavy. That is also one of the aims I am hoping to achieve. A relatively cheap but stunning visual effect.

    As for clouds, I might just make them static at the moment. They won't be procedural and most probably be generated from a single mesh. There also won't be any scattering or post processing effects on the cards but I do hope to include them in my demo. If I can't manage to include clouds, I will try to include reflections and refractions of the sun light on a water surface.

    Wow, after actually reading what I type, it sounds like a tall order indeed! I hope I can achieve most if not all of my objectives.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.