Page 1 of 1

My First *Real* Tutorial

Posted: Tue Oct 11, 2011 6:50 am
by EmeraldTiger
http://emeraldproductions.weebly.com/sp ... in-q3.html

What did you think?

- Easy to understand?

- Clear and to the point?

- Any mistakes that need to be corrected?

- Interesting to read, encouraging the reader to continue?

Thanks for your feedback. I hope you enjoy it and that someone can benefit from it. I`ll be using specular / dirtmapping in Red Snakes, btw.

Re: My First *Real* Tutorial

Posted: Tue Oct 11, 2011 7:02 am
by Eraser
Post the complete shader code generated by the tool. I'm not one to use shader editing tools like that so I prefer the raw text in front of me. It allows me to better understand what the shader is doing at a single glance as well, instead of having to filter the information out of instructions on where to click in a specific program.

Also, the instructions on how to call q3map2 are just plain examples. While these are needed, I'd also like to see exactly why you chose to use these compile settings. I've got a feeling a lot of these compile options aren't strictly necessary to create the effect you're looking for. Most importantly, I think that anyone reading a tutorial on specular mapping is already experienced enough to know how to call the q3map2 compiler. I think a simple listing of compile options with explanations on what they do for this specific effect would be enough. The cut 'n paste batch files are cute for a beginner, but for the more experienced mapper (and that probably is who your
audience is) it's just clunky.

Third thing, your example screenshots don't really show the effect that clealy IMO, especially because the second screenshot is very dark and lit in a completely different way. Also, both screenshots are rather small. Can you make them so that when I click them I get a full high res image on my screen?
You also talk of the shadows being cast by the tree. But is that due to the specular map or because of the different -light compile options? I guess the latter, so in that case it's only "noise" and distracts from the actual effect you're trying to explain.



I think the strength of a tutorial lies in not only explaining how things are done, but also why. Anyone can follow instructions one-to-one (click here, click there, enter that value, click here) but that won't help the person to do the same thing again in a new and maybe slightly different situation.

Re: My First *Real* Tutorial

Posted: Tue Oct 11, 2011 8:06 am
by themuffinman
It's well written, I'll give you that much. But it's probably worth noting that Q3 can't do specular mapping per se. It's very much artificial, just like q3map2's fake bump mapping effect. Also, the best way to give a shiney resemblance to a shader in Q3 is by using enviro mapping as is quite common in Q3A/TA.

Dirt mapping is just a light compiler effect for darkening details in geometry, nothing to do with specular mapping which is the process of reflecting light values affecting a surface. Here's more details on dirt mapping. You need per-pixel lighting for true specular mapping since the game would read the range on each pixel on the specular map from 0% reflective (black) to 100% reflective (white).

You should include an example map (with the shaders included) with the tutorial since that gives readers the best example of the end result. And I agree with Eraser... you should provide better images and use manual shader editing (it's so much easier to follow imo).

Re: My First *Real* Tutorial

Posted: Tue Oct 11, 2011 3:24 pm
by obsidian
You are very clear and concise with your tutorial writing and you do go into every single detail and you don't skip any steps. That makes reading your tutorial easy to follow. However, the topic you chose to write about lacks focus.


It's Not Specular

This tutorial isn't about specular mapping, or even fake Quake 3 specular effects. Quake 3 does "specular" effects in two ways, "tcGen environment" coordinate source (typically used for "reflective" shiny metal effects) and model specular lighting (alphaGen lightingSpecular - not typically used by a level designer, really only works on dynamic models). You aren't doing either of these so you probably shouldn't be mentioning "specular" in your tutorial.

What you are doing appears to be some form of overlay effect to increase the contrast of the texture. You can probably do something very similar by importing both textures into Photoshop and playing around with the blending options for the second texture. Then exporting the result out as a single texture without all the extra shader stuff.

Image


Keep It Simple

You added too many shader variables that have nothing to do with this tutorial. For someone reading your tutorial in hopes of getting some information about a specific effect, you are making things confusing. For example, q3map_lightmapSampleSize doesn't have anything to do with the focus of your effect. The end result may look cool, but it is extraneous stuff that may cause confusion or even problems with other people's shaders if they did not intend to use it. You can include it with your end example shader with comments, but I wouldn't write out the steps as part of your tutorial.

Your end screenshots are misleading. You have a shader that looks like it doesn't have a lightmap compared to a shader with a high lightmapSize, lightmap, and your extra shader stuff. Show the difference just between having that extra last stage and without.


Stay Away From Black Magic (Stuff That Does Extra Stuff)

"Dirtmapping" is colloquial for "ambient occlusion" and has nothing to do with normal or specular maps. It's a lighting algorithm that simulates light radiosity in corner spaces and crevices. It darkens these areas relative to the distance between surfaces. Basically, it enables the "corners and nooks are darker because less light rays are able to bounce into those places" effect. If you don't fully understand what stuff does, it's probably better to not try to explain what it does so you don't spread any misconceptions.


Keep At It

I'm sorry, but I think you should take this one back to the drawing board, but don't let that dissuade you. As I said above, you have a knack at writing very clearly and in an organized manner that is easy to follow. What I think you should do in the future is write on a subject that you know about really well instead of doing a lot of guess work and writing about the results of trial and error.

I've wrote a lot of stuff about some of the really advanced shader stuff in the past, but I've never written any beginners tutorials. The shader manual is a reference, not a guide. I think beginner shader writers don't really have a very good place to start, so I think there is a demand out there for some good beginner shader tutorials. Like how to set up a basic shader with a scrolling energy effect, a texture with alpha channel, and a lightmap - a simple 3 stage shader. Maybe someone will write about beginner shader stuff. *cough*cough*

Re: My First *Real* Tutorial

Posted: Wed Oct 12, 2011 3:48 am
by EmeraldTiger
Thank you for your comments guys. I admit that I did use a reference from a random shader in a map for the tutorial, and did not think about any extraneous tidbits the author may have added. Your input was very helpful though. I definitely have some more beginner-oriented tutorials planned regarding shader usage, so once I get around to those I`ll put them up.

Re: My First *Real* Tutorial

Posted: Wed Oct 12, 2011 6:01 am
by themuffinman
Just in case you do find yourself using specular mapping in id Tech 4 for instance, you would rarely want to set the specularity up so high for terrain. In reality most sand and rock aren't that reflective so your specularity should be mostly none with some subtle hints of greys thrown in (mostly on protruding segments of the normal maps). Even shiney metal shouldn't be 100% specular. Look through the D3/Q4 texture content sometime for some good examples.

Re: My First *Real* Tutorial

Posted: Wed Oct 12, 2011 7:23 am
by Eraser
Unless the dirt is wet :)

Re: My First *Real* Tutorial

Posted: Wed Oct 12, 2011 1:58 pm
by themuffinman
... or covered by a shiney plastic coating :olo:

Re: My First *Real* Tutorial

Posted: Thu Oct 13, 2011 11:37 am
by o'dium
In which case one should be using a bump mapped environment map ;)