Jump to content
  • Advertisement
Sign in to follow this  
musasabi

OpenGL Help guide my plan? (seeking OpenGL VFX ideas and tutorials)

This topic is 2505 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Greets, all.

I'm not a novice programmer (picked up C in '02, give or take, then Java, PHP, C++, etc in following years), but I am a novice OpenGL coder. Novice as in I'm on chapter four of the Blue Book, haha. But fear not! This is not an utter newb question, just someone who knows they need guidance seeking exactly that.

I'll be done with the Blue Book in the next couple of months, and from there I am going to set out on an independent study over the summer being overseen by an awesome professor of mine. My objective will be to build a cross-platform (Windows and Linux) engine using OpenGL 4.2 of the most _basic_ sort. By basic, I mean WASD/mouse camera controls and collision detection. To make the endeavor worthwhile enough to qualify for a full course's worth of credit, however, I plan to add a few fancy features to create more of a tech-demo than a vanilla engine.

The features I had in mind were things like: realistic shadows, realistic water interaction, fire, fog, lighting trickery (reflection/refraction/etc), parallax mapping, and anything else I am yet unaware of. I'd choose between one and however many of these features that would be reasonable to implement in ~100 hours of coding, plus the engine framework and cross-compilation capability.

I went on something of a scavenger hunt this afternoon, seeking out my reference material for the upcoming challenge. However, I couldn't really find what I was looking for. I've known about NeHe since he was still updating the now "legacy" tutorials, but I know that's fixed pipeline material and I believe I should be using GLSL 4.2, correct? Otherwise, I found some GLSL 1.2 stuff (Lighthouse3d) or the pseudo-code of GPU Gems and the up-to-date stuff I found seemed limited in scope (Swiftless). I know that I don't know exactly what I'm looking for, but why can't I find a straight up OpenGL tutorial for, say, procedural water (ala Morrowind)?

All that being siad, my actual question is two-fold:

One, what effects are simple to tackle but visually exciting? I know I need a better foundation before I'll find what I'm looking for.

Two, where are the tutorials for these things? Surely someone's got a set of modern and interesting VFX tutorials?

Thanks in advance to those who read and reply. =)

Share this post


Link to post
Share on other sites
Advertisement

I know that I don't know exactly what I'm looking for, but why can't I find a straight up OpenGL tutorial for, say, procedural water
I don't think this matters too much because you're wanting to earn credit for your work, so I don't see how having an OpenGL tutorial for a water shader as teaching you much because someone else already did the hard work. A better project would be to take an algorithm and write the code yourself. There is a chapter in the GPU Gems on water:

http://http.developer.nvidia.com/GPUGems/gpugems_ch01.html

Perhaps a good project would be to study that chapter and create your own OpenGL water simulation. That certainly wouldn't be a trivial project.

Share this post


Link to post
Share on other sites
VMan - Visual Effects.

Jesse - Good point(s)! I hadn't really thought of it like that, to be honest. I was more of a mind that I was gearing up to learn how the effects work specifically in OpenGL/GLSL. More the code and syntax and only a small amount of the theory. But the former derives from the latter, so I take it that's the main point you're offering.

However, there is a reason I was looking to find tutorials for the shaders. The focal point of this independent study is supposed to be cross-platform challenges. That said, I was looking to take some "standard" effects, and struggle with making them identical between different drivers and OS's rather than struggle with the math of the simulation itself. =)

Does that bit change how you'd reply, or are you still of the same opinion? ;)

Share this post


Link to post
Share on other sites

However, there is a reason I was looking to find tutorials for the shaders. The focal point of this independent study is supposed to be cross-platform challenges. That said, I was looking to take some "standard" effects, and struggle with making them identical between different drivers and OS's rather than struggle with the math of the simulation itself. =)

Does that bit change how you'd reply, or are you still of the same opinion? ;)
I can only answer for how I'd approach it. Personally, I think porting software doesn't do much if the goal is to learn graphics or if you'd like to learn how to create your own techniques. Of course, if the goal is just to learn a new platform then porting is a great way to get some practice. I've done some porting of Cg /HLSL shaders to GLSL (especially with the Cg tutorial) but it's not particularly difficult even when your focus is on OpenGL/GLSL and not Direct X or Cg. Porting programs I find to be much easier than trying to implement the stuff you read in research articles. Still, I'm not sure what the demand is for someone who can implement the theory because a lot of PC games these days are just console ports. wink.png

It's been said many times that if you can pick up one language or API, it's not that much harder or different to pick up another one. If all you want are some standard shader techniques, then you could read the Cg tutorial and the Orange book. The Microsoft Direct X SDK documentation also has a lot articles for HLSL. I'm sure that water shaders are considered fairly advanced so you won't see that in those books. The more advanced techniques like water simulation are to be found in the Shader X series and the GPU gems.

Share this post


Link to post
Share on other sites
Ah yes, that's the type of info I was looking for.

I appreciate your input. =) I agree that learning the API is more important than learning how to port things, but all the same (as you mentioned) I know how important porting is to modern game development. So, we'll see where I wind up taking this. The first thing I'm going to do after finishing the Blue Book is going to be a crash course on linear algebra, however. =) A skill I can claim some pride in is knowing what I don't know, and 3D math is definitely one of those things, haha.

Thanks again. I'm sure you'll be seeing more of me once I start writing non-GLUT stuff of my own volition.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!