Graphics for games?
Posted 20 May 2012 - 04:43 AM
Posted 20 May 2012 - 06:37 PM
Posted 20 May 2012 - 11:24 PM
but its quite advanced, you have to angle reduce the models cause their hipoly and normal map them, but once youve done that its what made this->
Posted 23 May 2012 - 06:16 AM
Also, can I use photoshop to make images and animate them with opengl. If not please tell me how can I ?
Posted 23 May 2012 - 10:37 AM
Posted 25 May 2012 - 01:28 AM
Posted 25 May 2012 - 01:40 AM
Which programming language do you use now?
Which 3D software are you using to make your 3D model?
Maybe start by using DarkBasic http://www.thegamecreators.com/
Posted 25 May 2012 - 09:59 AM
Posted 25 May 2012 - 05:51 PM
Posted 25 May 2012 - 07:07 PM
Well, if you are "just" learning C++ right now, then it's not going to be easy. C++ is a hard language, and you almost need to be an expert to make code that runs fast and optimized, let alone understanding the structure of C++
It would be too difficult for anyone here to "teach" you how to make your own exported. Beside, there are plenty already available for Blender, where you can look at the source codes see how they works.
Posted 26 May 2012 - 03:30 PM
Posted 26 May 2012 - 05:20 PM
Yes they do.
Posted 27 May 2012 - 09:54 AM
What usually happens is that you spend ages looking at 3d modellers, until you find one that you really like.
You spend days learning the modeller, and end up with a mesh you are really like.
Then you try and get the mesh you have spent hours working on into your game, and you find the modeller doesn't export to a format you have code to read.
So then you start looking for source code for model formats that your modeller supports, pretty quickly you find one, download the source code, then the source code doesn't build.
So you spend a few hours trying to get it to build, with no success. So you go back to searching the web for a different format.
This one builds, but when you put it on your game code and load your lovingly created mesh, it looks sh1t. Or just looks like a bunch of random points, or the object is inside out.
You can lose weeks in this morass of free source code.
My advice would be to decide on what features you really want in your meshes. Think hard about this bit. Obviously you are going to want to get the vertex positions, most probably you are going to want texture coordinates and normals, but do you need anything else? Do you need tangents, binormals, multitexturing, materials, etc. etc. etc.
When you have decided on the minimum set of what you need, then have a look at which file format and modeller you can use.
I'll try and explain what I mean with an example.
Blender is a very powerful modeller, loved and hated by many people. It can do whatever you need to do, but the learning curve is very steep. You could spend years just learning to get good at blender without spending a single hour writing a game.
It can output to Collada, which has an open source file handling library. So that is a really good option for handling complex meshes with lots of rendering stages.
The collada dom is supplied as 50 Meg of source code. (I'm looking at version 2.3.1) and relies on 8 external libraries.
Now if you are working on windows, you could probably get away with just building collada and using it as the libraries are easily available. I don't work on windows, so I would have to port all the libraries myself. I haven't looked at it in detail, but I can pretty much guarantee they also rely on other libraries, so I would have to port them as well.
So by the time I have learnt blender and got collada working, I could have been going a couple of years without actually doing ANY game coding at all.
Have a look at simple free tools like Anim8tor.
Anim8tor comes with a built in exporter that writes your mesh out as source code. With all the data in a simple to read and use format, you can concentrate on the game code rather than all the utilities.
Once you have some experience, then you can say "I hate this, think I'm going to add <insert feature here>"
The reason I am saying this is that when you are learning, you NEED the instant gratification of seeing your code come to life. You need to be able to sit in front of your computer for a couple of hours and actually see the results of your efforts.
Without that you could easily just give up.
Posted 27 May 2012 - 10:08 AM
Posted 27 May 2012 - 01:51 PM
Posted 28 May 2012 - 09:40 AM
1) Missing textures
Since I am a coder, texturing a mesh is the part I am rubbish at. I hate finding the perfect mesh for the task I am working on and then finding out the textures are missing.
2) Vertex ordering / missing normals
So annoying loading up a mesh to find half the tri's are facing the wrong way. I haven't come up with a good way of using code to fix this issue either.
3) Degenerate triangles
It seems a lot of modellers really don't care if you end up with two coincident verts on a tri, or a tri with only two verts because the end guy has deleted one of them. Pain in the ass for me though.
3ds is one of the worst, it's gone through so many changes over time that you never know what's going to happen when you load one.
It amazes me that we have pretty well got a couple of standards for bitmaps now, but for 3d meshes...
Posted 28 May 2012 - 10:54 PM
A better choice is obj - simple, readable, robust ... with few extensions on that format you get really good format for quickly exchanging gfx between F.e. 3D Studio Max and your application. Then you just convert them to binary format (as obj is text-based), and you're ready to publish (never, never, never ever distribute your application with text formats for meshes, textures, skinned meshes + animations, etc.)
Collada, FBX, or some others are fine, but well ... very complex and they contain huge amount of useless stuff (and I really mean HUGE amount). Loading times are zillion-times slower than for obj (or modified obj), and well - I personally don't like them (too much useless stuff inside creating huge files).
As for now I don't have any problems with missing textures, vertex ordering or degenerate triangles (unless the graphics guy makes crappy model, but then I won't pay him, so...).
As for textures, the standard are S3TC compressed ones - mostly DDS, but there are other formats with S3TC compression (and one can always create his own one). Although you can as well go with some TGA files (quite easy to work, both Photoshop and GIMP can work with them, as well as 3DS Max, Blender, Maya, Mudox, XNormal, and lots of other useful programs).
There are also skinned meshes and animations - quite harder one, because it needs you to know a bit about skinning and a lot about math. Mostly you get some mesh + multiple weights for each vertex that describes how much is that vertex affected by different joints. Then you (in animation files) get information about how is every joint animated (be it matrix-based storage, or quaternion + position storage). This is enough for one to actually do skinned animation. There are some MD5, MDL, NIF (+ their animation formats), etc. etc.
If you don't know how to speed up application, go "roarrrrrr!", hit the compiler with the club and use -O3 :D
Posted 29 May 2012 - 06:40 AM
Posted 29 May 2012 - 03:12 PM
1. All 3D CAD can export to obj format.
2. It can be edited, it's text, same with the texture (mtl) file
3. The textures can be edited and re-saved, renamed etc.
4. And because it's text, you can do a search/replace
5. Non of the binary counterparts have the above abilities.
6. It's very fast to load.
Posted 30 May 2012 - 02:19 AM
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users