Hi all, I would like to apply for GSoC project. Since I have been interested
in
shader developing, I want to add a script driven shader system for CS.

== About Me

I am a master student of Computer Science in Beihang University,
China. Currently I'm working in State Key Laboratory of Virtual
Reality Technology and Systems. I have done some study on global
illumination and soft shadow rendering and got a essay going to
publish very soon on Computer Study and Development (a famouse Chinese
journy).

I have been using C/C++ and Linux for years. For the time being, I'm
engaged in the development of People's Liberation Army(PLA) Tactical
Simulation Traning System. I've participated a opensource MMORPG
Shadowrun:Awakened which used CS[1] (however, it changed to use Ogre
now). Also I tried to create a simple game myself[3]. What's more, I
submited a few patches to gnome projects but unfortunately only one
got attention of gnome mentors.

== What to Solve

Any one who has written complex shader should know that debugging a
shader is really troublesome. it's partly because you have to deal
with complicated GLSL/HLSL api. Whenever you write a deffered shader,
you need to code for render target, shader map one more time.

Here I want to develop a script driven shader plugin used to simplify
the work needed to intergrate shaders into CS program. This is similar
to Ogre's compositor script, but I plan to use a mature script
language (lua or python) so that we don't need to learn another new
language.

So here's what I'm trying to solve:
1. Develop shader without C/C++ programming.
2. Reduce bugs caused by shaders
3. Shorten the code needed to run a shader
4. Support deffered shading and other advanced effect

== The Project

Works I need to do:

1. Introduce a script (lua or python) to control the logic of
rendering using shader.

2. Develop a CS plugin. This plugin should extend operations of shaders,
provide a interface for script, and detect hardware and switch to back up
shader automaticly.

3. Create a lite script runner to load script directly, so that you
can develop and debug effect without compiling.

By using this system you only need shaders, and a small script
demostrating how these shaders work. That's all for a effect to run in
most of the cases.

== Project Schedule

1st Week(24th May - 30th May):
Develop basic script program interface, write a prototype that can
load the script and check the crrectness of the script. Study skills
need to write a CS plugin, and consider how the script should be like.

2nd to 3th Week(31st May to 13th June):
Create a skeleton of the plugin. Intergrate the script related code
into plugin. Write unit test for it.

4th to 6th Week(14th June to 27th June):
Continue develop the plugin, make the script run and support basic
functionality of GLSL. Make plugin able to manipulate the render
target, texture, and combine different shaders together.

7th Week(28th June to 4th July):
Try support some of the extensions of GLSL. Test it different under
different versions of OpenGL and Shader Model. Make it able to detect
the hardware and auto switch to lower effect level it user's hardware
can't support it.

8th Week(5th July to 11th July):
Create the script runner.

9th and 10th Week(12th July to 25th July):
Final test the system, check if it can both work on windows and
linux. Create some demo effects using this system.

[1] http://awakenedmmo.org/
[2] http://code.google.com/p/rockyray/
== About Me

I am a master student of Computer Science in Beihang University,
China. Currently I'm working in State Key Laboratory of Virtual
Reality Technology and Systems. I have done some study on global
illumination and soft shadow rendering and got a essay going to
publish very soon on Computer Study and Development (a famouse Chinese
journy).

I have been using C/C++ and Linux for years. For the time being, I'm
engaged in the development of People's Liberation Army(PLA) Tactical
Simulation Traning System. I've participated a opensource MMORPG
Shadowrun:Awakened which used CS[1] (however, it changed to use Ogre
now). Also I tried to create a simple game myself[2]. What's more, I
submited a few patches to gnome projects but unfortunately only one
got attention of gnome mentors.

== What to Solve

Any one who has written complex shader should know that debugging a
shader is really troublesome. it's partly because you have to deal
with complicated GLSL/HLSL api. Whenever you write a deffered shader,
you need to code for render target, shader map one more time.

Here I want to develop a script driven shader plugin used to simplify
the work needed to intergrate shaders into CS program. This is similar
to Ogre's compositor script, but I plan to use a mature script
language (lua or python) so that we don't need to learn another new
language.

So here's what I'm trying to solve: 
1. Develop shader without C/C++ programming.
2. Reduce bugs caused by shaders
3. Shorten the code needed to run a shader
4. Support deffered shading and other advanced effect

== The Project

Works I need to do:

1. Introduce a script (lua or python) to control the logic of
rendering using shader.

2. Develop a CS plugin. This plugin should extend operations of shaders,
provide a interface for script, and detect hardware and switch to back up
shader automaticly.

3. Create a lite script runner to load script directly, so that you
can develop and debug effect without compiling.

By using this system you only need shaders, and a small script
demostrating how these shaders work. That's all for a effect to run in
most of the cases.

== Project Schedule

1st Week(24th May - 30th May):
Develop basic script program interface, write a prototype that can
load the script and check the crrectness of the script. Study skills
need to write a CS plugin, and consider how the script should be like.

2nd to 3th Week(31st May to 13th June):
Create a skeleton of the plugin. Intergrate the script related code
into plugin. Write unit test for it.

4th to 6th Week(14th June to 27th June):
Continue develop the plugin, make the script run and support basic
functionality of GLSL. Make plugin able to manipulate the render
target, texture, and combine different shaders together.

7th Week(28th June to 4th July):
Try support some of the extensions of GLSL. Test it different under
different versions of OpenGL and Shader Model. Make it able to detect
the hardware and auto switch to lower effect level it user's hardware
can't support it.

8th Week(5th July to 11th July):
Create the script runner. 

9th and 10th Week(12th July to 25th July):
Final test the system, check if it can both work on windows and
linux. Create some demo effects using this system.

[1] http://awakenedmmo.org/
[2] http://code.google.com/p/rockyray/
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Crystal-main mailing list
Crystal-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: 
mailto:crystal-main-requ...@lists.sourceforge.net?subject=unsubscribe

Reply via email to