Export to GitHub

google-highly-open-participation-psf - issue #336

PySoy: Create soy.meshes.Liquid


Posted on Jan 17, 2008 by Helpful Giraffe

Create a new soy.meshes class which renders the surface of a liquid (ie, water) and it's depth through volumetric fog using GL_EXT_fog_coord, demonstrated with a small example script.

At minimum color and size properties should be available. A provided material should render as the surface with it's alpha blending properly.

Extensions should be tested using GLEW. Some OpenGL/GLEW functions and enums may need to be added to gl.pxd. Must render on i915, Xorg's free radeon/r200, and proprietary nVidia drivers (ie, no GLSL). Help is available on checking for extension support and testing on different video cards and drivers.

The source can be obtained through

svn co http://svn.pysoy.org/trunk/pysoy

Some inter-module API changes are permissible to implement this.

Completion:

Commit the work to http://svn.pysoy.org/, attach your diff(s) to this task, and contact the ghop-python mailing list.

Relevant webpages:

Task duration: please complete this task within 5 days (120 hours) of claiming it.

Comment #1

Posted on Jan 19, 2008 by Happy Horse

I claim this task

Comment #2

Posted on Jan 19, 2008 by Happy Bear

(No comment was entered for this change.)

Comment #3

Posted on Jan 19, 2008 by Happy Horse

Here is the code:

And here is the screenshot of example code: http://img166.imageshack.us/my.php?image=asdlq5.png

Attachments

Comment #4

Posted on Jan 19, 2008 by Happy Ox

Code implements the volumentric fog but not the surface texture, which due to alpha, must be rendered after the water contents.

Comment #5

Posted on Jan 19, 2008 by Happy Horse

The texture is wrapped now

Comment #6

Posted on Jan 22, 2008 by Happy Ox

(No comment was entered for this change.)

Comment #7

Posted on Jan 23, 2008 by Happy Horse

Ok, I polished things a bit, and the code should satisfy everyone. That's definetly the hardest task I have tried in GHOP, pretty though this work was.

Here is how it looks like: (volumetric fog is calculated for all objects in the scene dynamically): http://img143.imageshack.us/my.php?image=liquidvc7.png

I cannot apply diff of my work, because of "Issue attachment storage quota exceeded.". Code is in the repository

Comment #8

Posted on Jan 23, 2008 by Happy Ox

This is exceedingly impressive work. This task was specifically given because this student asked for a challenge.

Two prior SoC projects were to include this as part of the project, and neither finished.

Status: Completed

Labels:
pysoy opengl Due-20080124.1300 ClaimedBy-dev.jrx