views:

209

answers:

4

So the title says it. I couldn't find any info on how actualy build effects into 3D game. I'll maybe stick to some engine later, but for understanding of this whole thing I would need to try it on my own for this time. I found a few about particle systems which may be the right way but any other connection between DirectX and particle systems on google gave results as 3DSmax and etc.

So I would be thankful if you would point me on some tutorials for this, or explaining it... Last possibilitie would be pointing me on some simple engine focused on this thing (I don't really want to fight through tons of code and understanding how this engine works, I just need to see how they implement this FX stuff).

Thanks

PS: the other possibilitie would be if you know about good book discusing this. It can be more complex but apart from tutorial, books are usually wrote more basicly so this would be also nice way to go

+3  A: 

First of all: particle effects are just one kind of effects, it's better you specify the word particle engine :p.

Secondly: search int he articles of Gamedev, it's really the best resource if you want things like this. You can find lots of articles and even better, tons of links, and useful information on the discussion boards. Two articles I can link to is the NeHe lesson about particles in OpenGL, it's not directx but NeHe tutorials for OpenGL are very good. I also found one for directx8 and VB (so a little bit older).

Keep in mind though that a particle engine is often a huge performance hit if you can't optimize it yourself, so try to look at open source game engines (e.g. OGRE) on how they implement it or even better, specific particle engines.

KillianDS
I think that this is weird and so discused question but, before I dive fully into one or another. What do you think is better DirectX or OpenGL.If you could use the factors as simplicity, area of usage, performance, number of examples and resources etc. I have made already a little library of files for starting directX project but that wasn't a big deal. So I think there is many similliar things, but I would like to know which one is better for mastering and learning, as you can use these experience in other just with other syntax...
Raven
They both have their strengths and weaknesses. In the gaming world directx is the most popular choice at this time, mainly due to the fact openGL took a huge time to support shaders and directx didn't. However, switching between both isn't always very easy. There are enough articles and discussions over the internet that compare both. The only case I'd point out is: if you want to develop for other platforms as windows, go for OpenGL. Otherwise, see what fits you most, you can find many resources to help you with both.
KillianDS
+1  A: 

So I would be thankful if you would point me on some tutorials for this

You need to download microsoft DirectX SDK. In addition to it, you should try NVidia SDK. You may also try ATI SDK. Study them all.

In addition to them... there are couple of books on OpenGL: "Red Book", "Blue Book", Orange Book . "Computer graphics using OpenGL" by Francis Hill is also a very good one.

Get this info, and start reading.

how actualy build effects into 3D game

This question is too broad. There are lighting effects, particle systems, post-processing effects, physics (which are also effects), and even character animation is an effect. It is unclear what kind of effects you are talking about.

What do you think is better DirectX or OpenGL.

They are more or less equal. You can do same things in both of them. Try both and pick one you liked more. OpenGL is better for playing around and experimenting (because you can easily draw triangle without messing with hardware buffers), available on larger selection of platforms, plus GLSL is better than HLSL (because it doesn't "compile into assembly"). DirectX is geared towards performance from the beginning, available on XBox360, and 9th version was actually good. openGL is more "abstract" and DirectX is closer to hardware.

If you could use the factors as simplicity, area of usage, performance, number of examples and resources etc

  1. If you want simplicity, you should forget about making game engine. You'll have to learn quite a lot of things if you want to deal with 3D.
  2. Both DirectX and OpenGL are used for making 3d-related products.
  3. You can get good performance with both DirectX and OpenGL, and get poor performance if you don't know what you're doing.
  4. Both DirectX and OpenGL have insane amount of examples and books - just search for it. They weren't made yesterday, so enough information is already available.

You need to select goal, select platform, select your API, research available technologies, and start writing code. Wondering "which one is better" is a waste of time. 3D knowledge and algorithm are equally applicable to both APIs.

SigTerm
+1  A: 

OpenGL is the best bet to learn I feel. Glut is available free of cost and has all the functions you need to implement a particle engine. Plus theres loads of sample code online. I like the way functions are . Easy to remember and use logically

Ram Bhat
A: 

The best books for learning D3D9.0c/D3D10 are by Frank Luna. Just put him in to amazon or google and you'll get results. He teaches how to build a fully-fledged game engine from scratch.

DeadMG
thanks I will bookmark it though I'm switching to openGL probably.
Raven