Difference between revisions of "Phoenix Engine"

From Wolfire Games Wiki
Jump to: navigation, search
m
(Merged Effects System)
Line 6: Line 6:
  
 
If you have the time [[http://forums.wolfire.com/viewtopic.php?f=13&t=11935 SPF]] has a thread with links to some articles.
 
If you have the time [[http://forums.wolfire.com/viewtopic.php?f=13&t=11935 SPF]] has a thread with links to some articles.
 +
 +
 +
= Particle Effects =
 +
There isn't much information released about Overgrowth's particle system. Running or jumping on the ground creates small dust clouds at the characters' feet, and particle streams were added in [http://blog.wolfire.com/2011/04/Overgrowth-a128-video-changelog A128] along with blood dripping. Particles are controlled through scripts, examples below:
 +
 +
== Simple Particle Example ==
 +
 +
            MakeParticle("Data/Particles/impactfast.xml",pos,vec3(0.0f));
 +
 +
== Particle Stream Example ==
 +
            float blood_force = sin(time*_spurt_frequency)*0.5f+0.5f;
 +
            uint32 id = MakeParticle("Data/Particles/blooddrop.xml",bleed_pos,(head_transform*vec3(0.0f,blood_amount*blood_force,0.0f)+this_mo.velocity));
 +
            if(last_blood_particle_id != 0){
 +
                ConnectParticles(last_blood_particle_id, id);
 +
            }
 +
            last_blood_particle_id = id;
 +
 +
= Post Processing Effects =
 +
''Post processing effects are image filters that are applied as a final step before each rendered frame is drawn to the screen -- much like Photoshop filters.'' This explanation is lifted word-for-word from David's blog post on the subject. He doesn't go into much detail about it in his blog posts, but here's links to [http://blog.wolfire.com/2009/04/post-processing-part-one/ part one] and [http://blog.wolfire.com/2009/04/post-processing-part-two/ part two] any way.
 +
 +
= Shaders =
 +
Overgrowth uses GLSL shader language, and the users can create custom shaders. Some blog posts explain how some of the shaders work, such as the posts about [http://blog.wolfire.com/2008/12/object-lighting-part-1/ Object Lightning], [http://blog.wolfire.com/2009/09/character-rim-lighting/ Character Rim Lighting] and [http://blog.wolfire.com/2009/09/trees-in-the-breeze/ Trees in the Breeze]. Overgrowth's character animation is also done through a shader, as David mentioned in [http://blog.wolfire.com/2009/10/character-normal-maps/#comment-18448230 a blog comment].
 +
 +
            The skeletal animation is done in the vertex shader anyway, so it's actually
 +
            faster and smoother-looking to just apply the bone matrices to the object-space
 +
            normal map than it is to recalculate transformed normals and tangents for
 +
            each vertex.
 +
   
 +
 +
= Motion Blur for Weapons =
 +
Overgrowth's weapons use motion blur based on stippling. Stippling is also used to render soft shadows, and the technique of stippling is explained in [http://blog.wolfire.com/2009/10/transparent-shadows-using-stippling/ this old blog post]. The motion blur for weapons works by drawing the weapon several times along it spath using different stipple patterns for each instance, as mentioned in the [http://blog.wolfire.com/2011/06/Overgrowth-a135-video-changelog A135 video].
 +
 +
= Relevant blog posts =
 +
 +
[http://blog.wolfire.com/2010/12/Overgrowth-graphics-overview A summary] of most blog posts explaining Overgrowth's graphical features, focusing on more technical details. There are additional links below, some of which are not mentioned in the summary.
 +
 +
http://blog.wolfire.com/2008/12/object-lighting-part-1/
 +
http://blog.wolfire.com/2010/02/Gamma-correct-lighting
 +
 +
http://blog.wolfire.com/2009/09/character-rim-lighting/
 +
http://blog.wolfire.com/2009/10/character-normal-maps/
 +
http://blog.wolfire.com/2009/09/soft-normal-maps-for-fur/
 +
 +
http://blog.wolfire.com/2009/09/trees-in-the-breeze/
 +
http://blog.wolfire.com/2010/10/Imposters
 +
 +
http://blog.wolfire.com/2009/05/decals-editor-part-one/
 +
http://blog.wolfire.com/2009/05/decals-editor-part-two/
 +
http://blog.wolfire.com/2009/06/decals-editor-part-three/
 +
 +
[[Category: Tutorials]]
 +
[[Category: Modding]]
 +
[[Category: Overgrowth]]

Revision as of 11:25, 12 February 2015


Work in Progress Work in Progress: Comments & Edits Welcome


This article is a stub. You should help Wolfire by expanding it.

  • This page needs a list of graphical features in OG with links to blog posts and short descriptions of the features.

If you have the time [SPF] has a thread with links to some articles.


Particle Effects

There isn't much information released about Overgrowth's particle system. Running or jumping on the ground creates small dust clouds at the characters' feet, and particle streams were added in A128 along with blood dripping. Particles are controlled through scripts, examples below:

Simple Particle Example

           MakeParticle("Data/Particles/impactfast.xml",pos,vec3(0.0f));

Particle Stream Example

           float blood_force = sin(time*_spurt_frequency)*0.5f+0.5f;
           uint32 id = MakeParticle("Data/Particles/blooddrop.xml",bleed_pos,(head_transform*vec3(0.0f,blood_amount*blood_force,0.0f)+this_mo.velocity));
           if(last_blood_particle_id != 0){
               ConnectParticles(last_blood_particle_id, id);
           }
           last_blood_particle_id = id;

Post Processing Effects

Post processing effects are image filters that are applied as a final step before each rendered frame is drawn to the screen -- much like Photoshop filters. This explanation is lifted word-for-word from David's blog post on the subject. He doesn't go into much detail about it in his blog posts, but here's links to part one and part two any way.

Shaders

Overgrowth uses GLSL shader language, and the users can create custom shaders. Some blog posts explain how some of the shaders work, such as the posts about Object Lightning, Character Rim Lighting and Trees in the Breeze. Overgrowth's character animation is also done through a shader, as David mentioned in a blog comment.

           The skeletal animation is done in the vertex shader anyway, so it's actually 
           faster and smoother-looking to just apply the bone matrices to the object-space 
           normal map than it is to recalculate transformed normals and tangents for 
           each vertex.
    

Motion Blur for Weapons

Overgrowth's weapons use motion blur based on stippling. Stippling is also used to render soft shadows, and the technique of stippling is explained in this old blog post. The motion blur for weapons works by drawing the weapon several times along it spath using different stipple patterns for each instance, as mentioned in the A135 video.

Relevant blog posts

A summary of most blog posts explaining Overgrowth's graphical features, focusing on more technical details. There are additional links below, some of which are not mentioned in the summary.

http://blog.wolfire.com/2008/12/object-lighting-part-1/ http://blog.wolfire.com/2010/02/Gamma-correct-lighting

http://blog.wolfire.com/2009/09/character-rim-lighting/ http://blog.wolfire.com/2009/10/character-normal-maps/ http://blog.wolfire.com/2009/09/soft-normal-maps-for-fur/

http://blog.wolfire.com/2009/09/trees-in-the-breeze/ http://blog.wolfire.com/2010/10/Imposters

http://blog.wolfire.com/2009/05/decals-editor-part-one/ http://blog.wolfire.com/2009/05/decals-editor-part-two/ http://blog.wolfire.com/2009/06/decals-editor-part-three/