Friday 5 December 2008

05/12/08 Update

Well it has been a busy few weeks with alot of coursework to be complete for the last week of term which has caused me to fall behind on my blog.
Well since the last update I have had my presentation which didnt go as bad as I thought it would have. Got alot of good feed back from it which has helped me for my project proposal which I am currently still working on which I hope to have my first draft up for next week.
Still doing alot of research on fluid simulation, reading alot of papers by Jos Stam and Nick Foster who both seem to have very good ideas which I think I may use for the project.

Wednesday 12 November 2008

Worksheet 4 with Comments

CS1004a Honours Project Worksheet 4

Introduction:
Fluid flows are everywhere from rising smoke, clouds and mist to the flows of rivers and oceans. Because one of the major goals of games is to immerse players into plausible virtual worlds, it is desirable to include fluid flows into games engines (Stam 2003). Therefore there are a lot of techniques which have been developed over years that have varying effects.
With the improvements in graphics and processors over the years what is the best technique to use for the current generation of hardware?
The aim of this project is to find out through research and experimentation what is the best technique to use to produce real-time fluid simulations which has good visuals and performs fast?

I think it sounds like a good topic to approach, since many games have been lacking a realistic looking fluid system and only focusing on speed. Bioshock was the last game I remember seeing where the developers spent a lot of time on the realistic visuals for that water.

Issues:
There are a lot of dedicated applications out there which use algorithms which strive for accuracy and are fairly complex and time consuming but these applications need to be physically accurate. However in computer graphics and in games what matters most is that the simulations both look convincing and are fast (Stam 2003). So the main issue I want to address is what is the best technique to use for fluid simulation in games? This technique must look visually good and doesn’t slow the frame rate greatly

Sounds like good way of going around it, but I was wondering if the time scale allows you to look over the wide range of fluid systems. Would modelling the dynamics of a river allow you enough time look over cloud systems?

Research Question:
“Can fluid reactions with objects be accurately simulated in a real-time environment using numerical techniques?”

Addressing the Question:
Research into existing work on fluid simulation is one of the first steps that must be carried in order to find the best techniques or techniques for implementing an application demo. Also possible improvements will be looked into for these techniques.
An application demo will be created in either Direct X or OpenGL in order to answer the question. An application demo will first be designed to show a 2D version of a fluid where the technique decided during the research will be used to show how fluid reacts when it comes into contact with stationary objects. Then the 2D version will be expanded into a 3D application and will show how the fluid reacts when objects are dropped into the fluid.

Would a varying scene including different object and landscapes be feasible for the different types of fluids?

Progress:
So far I have done a lot of research into the techniques that are out there. I have read a lot into the techniques in both Jos Stam and Nick Fosters papers on fluid dynamics. These techniques have given me some ideas on what equations are good to use to represent certain physical properties of fluid. They have also talked a lot on Navier-Stoke equations which have influenced what I need to research as it has come apparent that these are helpful to simulate the properties of fluid.

Although it may be lacking in technical details I believe high end graphics development programs such as 3ds Max might show examples and features that could be used for a template in your application.

References:

Stam, J. 2003. Real-Time Fluid Dynamics for Games. [online] Available from: http://www.dgp.toronto.edu/people/stam/reality/Research/pdf/GDC03.pdf [Accessed 05 November 2008]

Wednesday 5 November 2008

05/11 Meeting with Dr Lucas

Had a meeting with Dr Lucas today. Seems to be most of my worrys to rest regarding my research question being unique. Was informed that in honours year it's not about coming up something new but doing scholar research on a subject and being able to write up on it well.

Also had a discussion regarding my RQ which I happy with which has been put into Worksheet 3.

Plans for next week:
Get the presentation ready.
Read up of Navier Stoke equations and how Jos Stam used them for fluid simulation.

Worksheet 3

Introduction

The aim of this project is to take a look into current methods and techniques for fluid simulation used within games and see what single or combination of techniques is best in terms of visually and performance wise.

Motivation

Fluid flows are everywhere: from rising smoke, clouds and mist to the flow of rivers and oceans. Because one of the major goals games is to immerse players into plausible virtual worlds, it is desirable to include flows into games engines (Stam 2003). Therefore games developers are interested in finding out what are the best techniques to use to accurately simulated fluids within their games. I believe that having accurate simulating water is something which is also expected from consumers within games now a days and knowing what the best techniques are for producing such simulations something that I am interested in knowing and understanding. Obtaining the knowledge of fluid simulation is something that can be quite versatile as well as some of the techniques used for fluid are used for simulating smoke and fire.

Research Question

“Can fluid reactions with objects be accurately simulated in a real-time environment using numerical techniques?”

Addressing the Question

The first thing that will be done will be looking into the techniques that are currently being used and have been investigated for real-time fluid dynamics and see how they look and perform. For each of the techniques that I find they were be a number of test will be carried out to see if visually looks like fluid and if it acts correctly with an object. Also I will look into improve techniques or combining techniques together to prove an ideal fluid simulation.

Resource Requirements

In order for me to answer my research question I will intend to create a program in possibly OpenGL or Direct X which will use a numerical technique to represent fluid. Initially I will start by creating a 2D scene for the fluid and have objects placed so the user can see the fluid reacting when it interacts with the objects. Once I have created this scene I will intend to expand on it to make a 3D scene where users can move the fluid and drop objects into the fluid and seeing the reaction on the screen.

References and Bibliography

Stam, J. 2003. Real-Time Fluid Dynamics for Games. [online] Available from: http://www.dgp.toronto.edu/people/stam/reality/Research/pdf/GDC03.pdf [Accessed 05 November 2008]

Jensen, L.S and Golias, R. 2001. Deep-Wate Animation and Renderingr. [online] Available from: http://www.gamasutra.com/gdce/2001/jensen/jensen_01.htm [Accessed 05 November 2008]
Bart, A., et al. 2007.Adaptively sampled particle fluids. In ACM SIGGRAPH 2007 papersACM, San Diego, California.

Winter, E And Larsson, M 2006. Go With The Flow -- Water Effects And Fluid Dynamics In Games. Game Developer, November 1, 21-28. http://www.proquest.com/ (accessed October 17, 2008).

Lengyel,E. 2004. Mathematics for 3D Game Programming and Computer Graphics. 2nd ed. Massachusetts: Charles River Media

Monday 3 November 2008

Working On Worksheet 3 and Presentation

Currently I'm working on Worksheet 3 to get myself prepare for the presentation on Monday 17th November.

Somethings seem to be coming about my research question which is it seems that I need to work on it alot more as it something that seems to be done before and fluid simulation is a topic which has had alot done to it which I believe may be a problem.

Just sent out an email to Dr Lucas about having another meeting with him regarding my Research Question and also plan to talk about the presentation aswell.

Worksheet 2 with comments

Honours Project Worksheet 2
Michael Daglish 0500981

Comments by Stuart McGaw

1.) Formulate a research question for your project. Details on the research question can be found in presentation 1 in the module folder.

Can fluid be accurately simulated when forces are applied and when objects are dropped into it?

2.) 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.

a) What is the focus of your project?
How to accurately simulate fluid within a game engine.

b) What information do you need to find out about?
What are the existing techniques used to simulate fluid. How fluid react in real life and the physics behind it.

c) What Experimental work do you need to perform?
An application will be created which will contain some fluid of some sort and the user will be able to apply wind to fluid and see the reaction. Also the application will allow the user to drop objects into the fluid as well.

3.) How will the information that you obtain in 2 allow you to answer the research question?

The information that is obtained will help me answer the research question as I will find out what happens to fluid when forces are applied and objects are dropped in it. So I will know what fluid should act and researching into existing techniques will be able to find out if fluid can be accurately simulated.

Fluid dynamics is an areas in which a lot of work has already been done (though there’s still a lot to do), for example the PhysX physics engine has in-built fluid dynamics simulation (see here for a video example of fluid in a vessel which is ruptured then collapses into the fluid). I couldn’t find any examples of wind acting on fluids in PhysX but I know wind can be simulated in PhysX perhaps you would be best experimenting within that framework so you are not starting absolutely from scratch? Good luck with all the fun maths this is going to involve.

Monday 13 October 2008

Worksheet 2

Honours Project Worksheet 2
Michael Daglish 0500981

1.) Formulate a research question for your project. Details on the research question can be found in presentation 1 in the module folder.

Can fluid be accurately simulated when forces are applied and when objects are dropped into it?

2.) 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.

a) What is the focus of your project?
How to accurately simulate fluid within a game engine.

b) What information do you need to find out about?
What are the existing techniques used to simulate fluid. How fluid react in real life and the physics behind it.

c) What Experimental work do you need to perform?
An application will be created which will contain some fluid of some sort and the user will be able to apply wind to fluid and see the reaction. Also the application will allow the user to drop objects into the fluid as well.

3.) How will the information that you obtain in 2 allow you to answer the research question?

The information that is obtained will help me answer the research question as I will find out what happens to fluid when forces are applied and objects are dropped in it. So I will know what fluid should act and researching into existing techniques will be able to find out if fluid can be accurately simulated.

Tuesday 7 October 2008

07/10/08 - Topic Chosen

After receiving my worksheet 1 back with the comments I have decided that I'm going to investigate fluid simulation for my honours project.


Not quite sure at the moment which issue I'm going to investigate but possibility of combining the lighting and fluid simulation together seems to be a good idea. Also just read up about the wave equation which seems a good idea aswell.

This Weeks targets:

Speak to either Dr Lucas or Dr Natanson .

Complete Worksheet 2.

Read up more on fluid simulation and fresnel reflections.

Worksheet 1 with comments

Honours Project Worksheet – #1
Michael Daglish 0500981

Comments in yellow by Jonathon Holmes
Comments in blue by Dr C S Ă–zveren

At the moment I’m stuck between two ideas on what I want to do for my honors’ project which I have included in this worksheet. I attend to decide which idea I’m going to go through with by the end of the week.


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

My first topic of interest is fluid simulation and my second topic is graphics lighting techniques.

Fluid simulation sounds like a good choice to go with as it would give plenty of relevant information to document without being too generalised. I would say that graphics lighting was a bit too broad a subject to get enough detail within a 7500 word limit. This could be broken down into finer elements of lighting such as photon mapping or radiosity mapping – just depends on how you would like to approach it.

Indicate the issues surrounding this topic that you may wish investigate.

The issues surrounding my first idea would be
The physical properties of the fluid
How the fluid reacts with objects being dropped into it.
How the fluid reacts when it is being moved (i.e. being poured)
How the fluid reacts when a force is applied to it. (i.e. Wind)
maybe look into fresnel reflections and refraction for the rendering of the fluid? This could possibly combine some elements of the lighting from the second topic into this first one? Would also make your final application look really pretty.

The issues for my second topic are
Creating accurate lighting in a scene to improve the realism to the scene
Creating accurate shadowing ( Ambient Occlusion? ) corresponding to the light present to the scene
Having lighting that doesn’t slow done the rendering of a scene.
If you still wanted to go into lighting techniques then you could maybe look into how aspects of the global illumination model can be applied to realtime applications, especially as technology progresses.

This Idea sounds fine I agree with the comments made. Please talk to Dr Lucas / Dr Natanson before you proceed

Outline your initial ideas about how you would carry out the practical aspects oft he project. i.e. what do you envisage yourself actually doing for the project.

First idea:
First of all a lot of research will have to be done into how fluids behave and the physics behind them. This will be done by reading up on a number of resources and speaking to math lecturers regarding the issues I have. A demo would also have to be created to show what I have learnt throughout the project. The demo could consist of a small area which would be a fluid which the user can apply forces to and see the reaction this has on the fluid or the possibility of dropping objects into the fluid and seeing the reaction. Another idea for a demo would be to show what happens to the fluid when it is poured from one container to another.

Sounds like a good plan :) seems more feasible than the next idea as it requires very few art assets to be created as the content for the application is naturally procedural.
That said, the second idea could result in a very cool looking application if art assets are not an issue. Difficulty is getting the visual quality to a standard that is eye catching enough to stand up with modern games such as crysis, assassins creed and half life 2 :'( . Not impossible but no doubt very tricky.


Second idea:
First of all research would have to be done into current lighting techniques which are used within the games industry and look into previous techniques aswell. A demo would also have to be created to show what I learnt throughout this project. My current idea for this demo would be to create a 3d which would contain a number of lights i.e. a concert stage. The player would be allowed to move around this scene freely and see the lighting which has been implemented.

Thursday 2 October 2008

First Worksheet

At the moment I’m stuck between two ideas on what I want to do for my honors’ project which I have included in this worksheet. I attend to decide which idea I’m going to go through with by the end of the week.


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

My first topic of interest is fluid simulation and my second topic is graphics lighting techniques.

Indicate the issues surrounding this topic that you may wish investigate.

The issues surrounding my first idea would be
The physical properties of the fluid
How the fluid reacts with objects being dropped into it.
How the fluid reacts when it is being moved (i.e. being poured)
How the fluid reacts when a force is applied to it. (i.e. wind)
The issues for my second topic are
Creating accurate lighting in a scene to improve the realism to the scene
Creating accurate shadowing corresponding to the light present to the scene
Having lighting that doesn’t slow done the rendering of a scene.

Outline your initial ideas about how you would carry out the practical aspects oft he project. i.e. what do you envisage yourself actually doing for the project.

First idea:
First of all a lot of research will have to be done into how fluids behave and the physics behind them. This will be done by reading up on a number of resources and speaking to math lecturers regarding the issues I have. A demo would also have to be created to show what I have learnt throughout the project. The demo could consist of a small area which would be a fluid which the user can apply forces to and see the reaction this has on the fluid or the possibility of dropping objects into the fluid and seeing the reaction. Another idea for a demo would be to show what happens to the fluid when it is poured from one container to another.

Second idea:
First of all research would have to be done into current lighting techniques which are used within the games industry and look into previous techniques aswell. A demo would also have to be created to show what I learnt throughout this project. My current idea for this demo would be to create a 3d which would contain a number of lights i.e. a concert stage. The player would be allowed to move around this scene freely and see the lighting which has been implemented.