Graphics Town Advanced Things 2023

Graphics Town 2023: Instructions Rubric Hints Checklist Advanced

This is a list of “advanced things” that you may want to include in your town. See the Graphics Town Rubric 2023 (Advanced Things) for explanations.

These are suggestions - if there is something that you want to try, it might fall into the “none of the things below” category (#1), but if you’d like to check, please ask on Piazza. If you have a good idea, we may add it to the list!

In your assignment, you should use the short name and number when describing what you’ve done. Remember, to get credit for something you must do it and describe it.

Generally, things that you do fall into one of the categories below - pick the best match. In a rare circumstance, a single object might be two advanced things. Usually, this is when there are distinct parts - for example, something that has procedural geometry and some complex behavior, or complex geometry with an animated shader effect.

Also note: some of the terms (morphing, skinning, …) we may not have discussed in class (yet). Some things we might not get to (this is an opportunity for you to learn an advanced thing on your own!).

Note that we aren’t “counting points” - you need to do “enough”, where enough depends on how complex things are, and how well done they are. This is subjective, and depends on the opinion of the grader who grades it.

  1. None of the Below - Something else that we didn’t think of. If you’re in doubt, ask. This is your opportunity to try some technique that we might not get to in class (within reason).

  2. Complex Behavior: you will get credit for making “complex” behaviors - see the definition in Graphics Town Rubric 2023 (Some Definitions). You can explain in the textbox why you think it is complicated enough to be worth credit.

  3. Complex Object: if an object is “complicated”, you can get credit for it. (see Graphics Town Rubric 2023 (Some Definitions)). Explain why you think it is complex enough to be worth credit.

  4. Particle System: There is some “particle” effect - fireworks, rain/snow, flocking, smoke … Note that adapting a 2D particle system from an early workbook is OK - but be sure to give it attribution!

  5. Animated Shader Effect: Something that uses a shader to make something cool. For example, you add a flowing river texture to your scene. See “complex adaptation” in the rubric.

  6. Morphing: Shapes that morph into different shapes, probably using THREE’s shape interpolation. There is an example of this in the example code. You should make a better use of it. (a sphere morphing into a plane is not a good use of morphing)

  7. Key-Framing: Key-Framed movements of an articulated figure. For example, people or animals that walk or run.

  8. Skinning: A skinned articulated figure (which has to move enough that we can see that it is skinned).

  9. Water or cloth: Simulated water or cloth. Don’t try to do real simulation, but you can try to make procedural movements to have the ripples of water in a pond or a flag waving in the wind.

  10. Curved Surface: Curved Surface beyond a basic primitive. Use a subdivision surface or a generalized cylinder in a useful way.

  11. Procedurally generated geometry: You could algorithmically generate trees or fractal shapes for mountains. Or make something that procedurally generates some other pattern or arrangement.

  12. Use Noise You probably want to find a source of noise functions, but you should make good use of them to do something cool.

  13. Large Diversity of objects or behaviors: If you make a very large set of object types or behavior types, this might count as an advanced thing, especially if it works well.

  14. Frankenstein (or, bringing something inanimate to life): If you find a static model (a mesh) on the web and “bring it to life”. This means finding a way to make it move by breaking it into pieces or rigging it. Just treating a mesh as a rigid object doesn’t count. A free-form deformation or skinning (above) can be a method - as is breaking the object into a bunch of rigid pieces. Be sure to describe what you’ve done.

  15. Free-Form-Deformation: (also known as a lattice deformer): this isn’t so hard to implement in a vertex shader, if you understand splines. You could even do it with linear elements. There is a demo you can play with that uses three, but it is unclear if you can use anything from this implementation other than inspiration.

  16. Dynamic Texture Map: You can put a “camera” in the scene and show it on a “screen” somewhere. Like a surveillance camera, or a jumbotron showing something else going on. The dynamic environment map example in the example objects would give you a start. Past students have done some really interesting things with this.

  17. Dynamic Environment Map: You’ve already done it in a Workbook. But you could figure out how to apply it in an interesting way and/or to use it to get better lighting effects.

Graphics Town 2023: Instructions Rubric Hints Checklist Advanced