Difference between revisions of "CellShadingNotes"

From SfzWiki
Jump to: navigation, search
 
(links about celshading)
 
(21 intermediate revisions by one user not shown)
Line 3: Line 3:
 
discussion in our forum : http://freegamer.schattenkind.net/index.php?t=msg&th=209
 
discussion in our forum : http://freegamer.schattenkind.net/index.php?t=msg&th=209
  
cel shading effect in gtkradiant 1.5.0 for warsow :
+
== links about celshading ==
http://www.warsow.net/forum/viewtopic.php?id=8872
+
 
 +
* cel shading effect in gtkradiant 1.5.0 for warsow, q2 map script ?
 +
** http://www.warsow.net/forum/viewtopic.php?id=8872
 +
* description in wikipedia : http://en.wikipedia.org/wiki/Cel-shaded_animation
 +
* nehe opengl celshading tutorial : http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=37
 +
* article on gamedev.net : http://www.gamedev.net/reference/programming/features/celshading/
 +
* http://www.ogre3d.org/phpBB2/viewtopic.php?t=34864
 +
* http://www.ogre3d.org/phpBB2/viewtopic.php?t=31334  Cel Shading and Texture
 +
* http://www.ogre3d.org/phpBB2/viewtopic.php?t=35259&highlight=
 +
* [http://g3d-cpp.sourceforge.net/gallery-robot.jpg cels-shader shot] todo : look if this shader is available under bsd license
 +
 
 +
== other stuff about shaders ==
 +
 
 +
* nehe glsl tutorial (not specifically celshading) : http://nehe.gamedev.net/data/articles/article.asp?article=21
 +
* there might be some samples in http://www.ogre3d.org/docs/manual/manual_toc.html
 +
* http://frustum.org/3d/
 +
* http://esprit.campus.luth.se/~humus/3D/
 +
* http://www.ogre3d.org/wiki/index.php/CodeSnippits#Shaders
 +
* http://ghoulsblade.schattenkind.net/wiki/index.php/Techlinks
 +
* http://www.ogre3d.org/phpBB2/viewtopic.php?t=3375
 +
* http://developer.nvidia.com/object/fx_composer_home.html#2
 +
* http://www.delphi3d.net/index.php
 +
* http://libsh.sourceforge.net/shaders/
 +
* http://www.cgl.uwaterloo.ca/Projects/rendering/Papers/
 +
* http://www.cgshaders.org/shaders/
 +
* http://www.beyond3d.com/forum/viewtopic.php?start=20&t=4386
 +
* http://www.ati.com/developer/gdc/D3DTutorial10_Half-Life2_Shading.pdf
 +
* http://www.ati.com/developer/gdc/D3D_Tutorial_Richard_Optimsations.pdf
 +
* http://shadertech.com/contest/
 +
* http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=012674  (cloud rendering)
 +
* http://download.nvidia.com/developer/SDK/Individual_Samples/samples.html
 +
* http://developer.nvidia.com/object/gdc_2005_presentations.html
 +
* http://www.ati.com/developer/techpapers.html#gdc05
 +
* http://www.terathon.com/index.html
 +
* http://www.gamasutra.com/features/19981009/multitexturing_01.htm  specular (light) map
 +
* http://www.3dtotal.com/team/Tutorials/leafproject/leaf_6.asp
 +
 
 +
== normal and specular maps ==
 +
 
 +
* ogre normalmapping demo
 +
*http://www.ogre3d.org/phpBB2/viewtopic.php?t=28871&highlight=specular+map
 +
*http://www.ogre3d.org/phpBB2/viewtopic.php?t=30487&highlight=specular+map
 +
*http://www.ogre3d.org/phpBB2/viewtopic.php?t=29685&highlight=specular+map
 +
*http://www.ogre3d.org/phpBB2/viewtopic.php?t=30803&highlight=specular+map
 +
*http://www.3dtotal.com/team/Tutorials/leafproject/leaf_6.asp
 +
 
 +
== snippets ==
 +
generate mesh tangent vectors by code
 +
<pre>
 +
void CEntity::SetGenerateTangents(const STRING &meshType)
 +
  {
 +
      MeshPtr pMesh = MeshManager::getSingleton().load(meshType,
 +
        ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, 
 +
        HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY,
 +
        HardwareBuffer::HBU_STATIC_WRITE_ONLY,
 +
        true, true);
 +
 
 +
      unsigned short src, dest;
 +
      if (!pMesh->suggestTangentVectorBuildParams(src, dest))
 +
      {
 +
        pMesh->buildTangentVectors(src, dest);
 +
      } 
 +
  }
 +
</pre>

Latest revision as of 01:13, 14 September 2007

a few notes about cellshading experiments.

discussion in our forum : http://freegamer.schattenkind.net/index.php?t=msg&th=209

links about celshading

other stuff about shaders

normal and specular maps

snippets

generate mesh tangent vectors by code

 void CEntity::SetGenerateTangents(const STRING &meshType)
   {
      MeshPtr pMesh = MeshManager::getSingleton().load(meshType,
         ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,   
         HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY,
         HardwareBuffer::HBU_STATIC_WRITE_ONLY,
         true, true);

      unsigned short src, dest;
      if (!pMesh->suggestTangentVectorBuildParams(src, dest))
      {
         pMesh->buildTangentVectors(src, dest);
      }   
   }