Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am looking for a list of topics that would be fun to learn and not too complicated to implement with a prototyping tool like FX Composer or Rendermonkey for an intermediate class of real-time rendering.

so far i came up with:

Normal Mapping Blur / Motionblur Glow / HDRI Toon Reflection Environment Mapping

what topics would you remove or add?

share|improve this question

closed as not constructive by Byte56, Tetrad Dec 10 '12 at 18:41

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Nice question. I think that this will become comunity wiki so i putted my answers like cw. If will not, i'll merge them. What you have proposed is pretty good. Enviroment mapping is very good example, simple and impressive :). – Notabene Apr 9 '11 at 14:07
up vote 0 down vote accepted

Morphing objects to a sphere (simple) or to cube on a vertex shader

share|improve this answer

I just finished a CG class and these where the type of shaders we wrote

  1. Phong (fixed pipeline vs shaders)
  2. Vertex Distortion
  3. Cool-Warm (Amy Gooch' her algorithm)
  4. Edge detection (using angle between normals and view vector vs using the depth buffer vs combined)

More advanced topics (That didn't make it into the first CG class)

  1. Hatching
  2. Shadow mapping/Projectors
  3. Reflection mapping
  4. Water shader.

Edit: normal mapping is always pretty hard because you need to compute the tangent, so unless you give them the tangent or an easy way to calculate the tangent, I wouldn't ask for an implementation in shaders.

share|improve this answer
+1 for shadow mapping, because it's useful, can be implemented in simple ways and opens up a lot of questions for aspiring studets eg. blurring, depth buffer precision etc. – Koarl Apr 11 '11 at 9:25
I'm just not sure if shadow mapping is possible in those "Rendermonkey" stuff, where you just play with shaders. – Notabene Apr 11 '11 at 9:35

Show them the difference between fixed pipeline phong and programmable pipeline phong. Thats good motivation.

share|improve this answer
As far as I know there's no fixed pipeline phong shading. The most sophisticated shading possible with fixed pipeline is gouraud ( But yes, implementing a phong shader is good to get started and will show the difference (quality improvement) between gouraud- and phong-shading. – bummzack Apr 11 '11 at 6:32
@Bummzack Ok. Right, but isn't gourad just phong interpolated between vertices? – Notabene Apr 11 '11 at 7:03
well yes, gouraud is interpolating between vertices, so it basically does it's lighting calculation on a per-vertex basis, whereas phong operates on a per-pixel basis. Calling the gouraud shader "phong-shader" is wrong though. – bummzack Apr 11 '11 at 7:44

Simple geometry shaders:

  • drawing normals as lines (input is a regular mesh)
  • creating duplicates of mesh in a different color
  • maybe simple fur created by lines (similar to drawing normals actually)
share|improve this answer
thanks! excellent answer! actually how would you duplicate a mesh without a geometry shader? – clamp Apr 10 '11 at 15:10
It is pretty simple. GS can output multiple triangles (with one triangle input). So easy solution is just output one triangle with regular worldviewproj and one shifted on X axis (for example). It can have even another matrices, can be rotated or have inverted UVs... whatever, it may be fun – Notabene Apr 11 '11 at 7:59
ah yes, sorry i didnt read that those were GS examples – clamp Apr 11 '11 at 8:34

Not the answer you're looking for? Browse other questions tagged or ask your own question.