Worksheet #2 - Formulating the research question
- Formulate a research question for your project. Details on the research question can be found in presentation 1 in the module folder.
- When developing a research question you must produce a question that can be answered by performing literature research, practical experimentation and critical analysis. The question should also focus the activities of your project.
- Try and answer the following questions in trying decide on the RQ
- What is the focus of your project?
- What information do you need to find out about?
- What Experimental work do you need to perform?
- Can your Research Question be refined in the light of answers to 2 and 3
- How will the information that you obtain in 2 allow you to answer the research question?
- Formulate a research question for your project.
Investigate the various methods for calculating and rendering shadows in a real-time 3D scene in order to determine the best balance of realism and performance that can be achieved.
- Try and answer the following questions in trying to decide the RQ.
a. What is the focus of your project?
The focus will be on both the realism* of the shadows and the performance/frame rate of the application and finding a good balance between the two. The project will look at the different methods and combinations of methods needed to achieve this.
*by realism I mean good quality, accurate looking shadows, without pixilation or artefacts.
b. What info do you need to find out about?
There are a number of methods that need to be investigated:
Shadow Mapping – A popular technique for shadow rendering, shadow mapping involves rendering the scene from the light's point of view and extracting the depth buffor information which is then stored as a 2D texture (the shadow map). The scene is then rendered a second time, from the camera's viewpoint. As each object in the scene is rendered, it's position is compared to the the shadow map. If a pixel is further away from the the light source than the value in the shadow map, then that pixel is shadowed. This method can create very nice, soft shadows and is considered to be an efficient real time algorithm.
(I've looked at/implemented shadow mapping before, during the 3rd year group project so I think I have quite a good grasp of how it works.)
Shadow Volumes – The other popular technique for shadows, this method creates sharp, per pixel accurate shadows. The technique involves projecting a line from the light source through each vertex of the shadow casting object to some far point. These lines will form a 3D volume that will encapsulate all the shadows cast by the object. The shadow volume is then rendered to the stencil buffer only. For each front facing face, the stencil buffer value is increased and vice versa for the back facing faces. Once this has been done for each face, any pixel with a value not equal to 0 is in shadow.
(I'll need to do some really in depth research on shadow volumes, as I've never looked at them before.)
I've been browsing the internet for information about these techniques and I've already found quite a few variations on each method which could merit further investigation.
There are also methods for rendering planar shadows which I may look at for the sake of completeness.
c. What experimental work do you need to perform?
I will need to develop a framework and application within which the various methods will be implemented. The demo will display a real-time 3d scene with moving and static objects which will both cast shadows and be cast upon. Of course there are variations of each method to be looked at and some experimenting as to how they could be combined. The application will measure the frame rate of the scene for each method – this will measure performance, but the realism will have to be measured with the naked eye.
No comments:
Post a Comment