Im trying to make a tutorial in spanish, on game development with free tools. It will cover all aspects of making a simple game from conception to gold. So its not only on programming.
Right know I know where to find good free compilers, assemblers, editors, etc.
Now Im looking for 3d low polygon modeling software that have this characteristics:
Right know I know where to find good free compilers, assemblers, editors, etc.
Now Im looking for 3d low polygon modeling software that have this characteristics:
[*]Works on vertex,triangles,faces,edges
[*]Have Undo.
[*]Have uv mapping, if possible suport 2 or more uvs.
[*]Easy to use and small. (thats leaves blender out of it, too big, and too complicated it, altough looks good).
[*]FREE
[*]Import/export obj (an easier to grasp 3d format than 3ds).
[*]Run on windows.
[*]Can do extrude,and lathe.
[*]User friendly.
[*]Stable.
It would be nice (but not required) if:
[*]It have a plugin mechanism for import/export
[*]Have support for vertex colors. And painting of them/
[*]Programmer friendly.
I know that there are many modelers at sourceforce, but I don't really know (or have one or two weeks) to find which is good or which isn't. So I wondered if someone here can recomend one.
Hi.
Here is the excerpt from my bookmarks
I don't do any of this 3D stuff (at least not yet) so I can't really help.
Free 3D art software I've found is this:
BLENDER3D: http://www.blender3d.org/
GMAX: http://www.discreet.com/products/gmax/
ppModeler: http://www.ppmodeler.com/
Anim8or: http://www.anim8or.com/
Wings3D: http://www.wings3d.com/
OpenFX: http://www.openfx.org/
And a nice free renderer
PovRay: http://www.povray.org/
And a format conversion tool
Crossroads: http://home.europa.com/~keithr/crossroads/
Some of the modelers can also render images (blender can do this quite well) ...
I guess Blender, ppModeler or gMax are *the* best free tools...
What free compilers have you found that actually WORK with DirectX 8.1 and especially DirectShow?
Here is the excerpt from my bookmarks
I don't do any of this 3D stuff (at least not yet) so I can't really help.
Free 3D art software I've found is this:
BLENDER3D: http://www.blender3d.org/
GMAX: http://www.discreet.com/products/gmax/
ppModeler: http://www.ppmodeler.com/
Anim8or: http://www.anim8or.com/
Wings3D: http://www.wings3d.com/
OpenFX: http://www.openfx.org/
And a nice free renderer
PovRay: http://www.povray.org/
And a format conversion tool
Crossroads: http://home.europa.com/~keithr/crossroads/
Some of the modelers can also render images (blender can do this quite well) ...
I guess Blender, ppModeler or gMax are *the* best free tools...
What free compilers have you found that actually WORK with DirectX 8.1 and especially DirectShow?
You can use the Personal Learning Edition of Maya freely for non-commercial use:
http://www.alias.com/eng/products-services/maya/maya_ple/index.shtml
It's a very good program, used even by Pixar, if I'm not mistaken. Also by various game studios.
http://www.alias.com/eng/products-services/maya/maya_ple/index.shtml
It's a very good program, used even by Pixar, if I'm not mistaken. Also by various game studios.
Thanks, Milos and Scali, I need also to move on something better than Amapi3D and Blender - they take me a whole day just to model and render well a good knob. And constantly crashing :(
Wow, maya learning edition for free.
As of free compilers:
Here you can find a list of free C/C++ Compilers
http://www.thefreecountry.com/compilers/cpp.shtml
Pelles C have DirectX headers (not sure wich version), lcc also have support (again not sure wich version), Borland C++ needed to set up an exception handler to work with Direct3D but is very compatible with M$
As for my project, I plan on using OpenGL (much cleaner API for learning). Of course I will still need to use DirecInput and DirectSound since both are faster. (I have yet to find anyone that uses DirectPlay instead of TCP or UDP, altough the new voice over IP seem interesting).
As a side note:
I have the debugging drivers of DirectX 9.0 And when debugging an OpenGL application on an NVIDIA gforce3 card found DirectX debugging messages on the output window of Visual C++. Has NVIDIA started making the OpenGL drivers as just a wrapper over D3D???
Here is the output on a 100% OPENGL application on a Gforce 3. You can try download the latest NVIDIA drivers (as well as the developer version of DirectX 9)
As of free compilers:
Here you can find a list of free C/C++ Compilers
http://www.thefreecountry.com/compilers/cpp.shtml
Pelles C have DirectX headers (not sure wich version), lcc also have support (again not sure wich version), Borland C++ needed to set up an exception handler to work with Direct3D but is very compatible with M$
As for my project, I plan on using OpenGL (much cleaner API for learning). Of course I will still need to use DirecInput and DirectSound since both are faster. (I have yet to find anyone that uses DirectPlay instead of TCP or UDP, altough the new voice over IP seem interesting).
As a side note:
I have the debugging drivers of DirectX 9.0 And when debugging an OpenGL application on an NVIDIA gforce3 card found DirectX debugging messages on the output window of Visual C++. Has NVIDIA started making the OpenGL drivers as just a wrapper over D3D???
Here is the output on a 100% OPENGL application on a Gforce 3. You can try download the latest NVIDIA drivers (as well as the developer version of DirectX 9)
Direct3D9: :====> ENTER: DLLMAIN(5104c35f): Process Attach: 00000e28, tid=00000728
Direct3D9: :====> EXIT: DLLMAIN(5104c35f): Process Attach: 00000e28
Direct3D9: :Reading App Compatiblity Information
Direct3D9: :Reading Registry
Direct3D9: (INFO) : ModeXOnly: 0
Direct3D9: (INFO) : EmulationOnly: 0
Direct3D9: (INFO) : ShowFrameRate: 0
Direct3D9: (INFO) : EnablePrintScreen: 0
Direct3D9: (INFO) : DisableAGPSupport: 0
Direct3D9: (INFO) : DisableMMX: 0
Direct3D9: (INFO) : DisableWiderSurfaces:0
Direct3D9: (INFO) : DisableNoSysLock:0
Direct3D9: (INFO) : ForceNoSysLock:0
Direct3D9: (INFO) : DisableInactivate:0
Direct3D9: :DirectDrawObjectCreate: oldpdd == 0x00000000, reset = 0
Direct3D9: :oldpdd == 0x00000000, reset = 0
Direct3D9: :oldpdd == NULL || reset
Direct3D9: (INFO) :NOT Setting DDCAPS_BANKSWITCHED
Direct3D9: (WARN) :Checking Processor for MMX support (Benign first-chance exception possible)
Direct3D9: (INFO) :This is an MMX machine.
Direct3D9: :HELInit for GDI Driver: Reference Count = 1
Direct3D9: (INFO) :*********** NOT!! ALLOWING MODE X AND VGA MODES
Direct3D9: :Calling HAL for create surface, emulation == 0
Direct3D9: :*** Structs Surface 0 ***
Direct3D9: :**************************
Direct3D9: :Calling driver to see if it wants to say something about create surface
Direct3D9: : CreateSurface returns 00000000 (0)
Direct3D9: :InternalLock: Calling driver Lock.
Direct3D9: :Resetting VisRgn for surface 328504
Direct3D9: :Bumping surface stamp
Direct3D9: (INFO) :Resetting primary surface
Direct3D9: :ProcessSurfaceCleanup
Direct3D9: :Leaving ProcessSurfaceCleanup
Direct3D9: :ProcessPaletteCleanup, ppal=00000000
Direct3D9: :ProcessClipperCleanup
Direct3D9: :Not cleaning up clippers not owned by a driver object
Direct3D9: :ProcessVideoPortCleanup
Direct3D9: :Leaving ProcessVideoPortCleanup
Direct3D9: :ProcessMotionCompCleanup
Direct3D9: :Leaving ProcessMotionCompCleanup
Direct3D9: (INFO) :Mode was never changed by this app
Direct3D9: :FREEING DRIVER OBJECT
Direct3D9: :Calling HEL DestroyDriver
Direct3D9: :0 surfaces allocated - 0 bytes total
Direct3D9: :*********** DDHEL TIMING INFO ************
Direct3D9: :******************************************
Direct3D9: :Driver is now FREE
Direct3D9: :====> ENTER: DLLMAIN(5104c35f): Process Detach 00000e28, tid=00000728
Direct3D9: (INFO) :MemFini!
Direct3D9: :====> EXIT: DLLMAIN(5104c35f): Process Detach 00000e28
Xanatose, you should probably drop spanish and do english - it will cover a much larger user base. Besides, spanish people should really get used to english ;)
As for DX vs. GL... I dunno if anybody would implemt GL ontop og DX... it's more realistic than implementing GL ontop og DX, though - DX has more lowlevel support, and GL inherently needs a lot of optimizations done in the drivers. You're better off doing DX :P
As for DX vs. GL... I dunno if anybody would implemt GL ontop og DX... it's more realistic than implementing GL ontop og DX, though - DX has more lowlevel support, and GL inherently needs a lot of optimizations done in the drivers. You're better off doing DX :P
Wow what a new crazy option (maby new for me coz it's first time i see it) . You can write a reply just like that. Well sorry for offtopic but i have to try this one :). Hey Hiro it's your inventon or some common netboard control ??
I run the latest nv drivers (53.03 WHQL), and I get no debug output at all, after running Lapsus (OpenGL demo), with my GeForce2 GTS.
Seems odd. At any rate nv cannot be implementing OpenGL on top of Direct3D, since nv lives by the grace of their OpenGL extensions in order to get some speed out of their GeForce FX.
As for easy to learn... I think you should write a software renderer anyway, before diving into OpenGL or Direct3D. The knowledge will be extremely useful later, when you try to do effects, shaders, or just optimizations. And once you know how to write a renderer yourself, it should be easy no matter which API you pick.
I pick Direct3D personally, because it's easier to make your code work on a large range of hardware, and the driver support is generally better anyway. And ofcourse the shader model is superior. Oh, and obviously there are much better debugging facilities aswell :)
Seems odd. At any rate nv cannot be implementing OpenGL on top of Direct3D, since nv lives by the grace of their OpenGL extensions in order to get some speed out of their GeForce FX.
As for easy to learn... I think you should write a software renderer anyway, before diving into OpenGL or Direct3D. The knowledge will be extremely useful later, when you try to do effects, shaders, or just optimizations. And once you know how to write a renderer yourself, it should be easy no matter which API you pick.
I pick Direct3D personally, because it's easier to make your code work on a large range of hardware, and the driver support is generally better anyway. And ofcourse the shader model is superior. Oh, and obviously there are much better debugging facilities aswell :)
f0dder
I'm making the the tutorial in spanish because there are already a miriad of tutorials in english outhere, so I feel there no need for another one in english.
Since my native language is spanish I know what it was like trying to find information and then trying to comunicate it to other people that also have spanish as their first language. Granted, at this moment in time anyone that will seriously go into game development should learn to think in english, because there is a serious lack of information in spanish. A language which hundred of millions of persons speak, write and think.
Anyway, if the tutorial goes ok, If shouldn't be difficult to translate it into english. That is, if anyone have an interest of it. (As I said, there are many tutorials in english outhere).
Henk-Jan
Have you the latest version of the DirectX SDK is the 9a. Also make sure you have the debugging version of DX running at maximun verbose debug level. At first I tough that it was because I included DirectInput on a program I was making, so I compiled lesson 1 of nehe opengl tutorials and run it on debug mode to make sure. Thus The NVIDIA Drivers of OpenGL do use DirectX internally probably to avoid repetitive code, which is no big deal, but at least they should leave the DirectX debug information out of my window ;grin;
A little explanation
The enfasis on my many chapter tutorial will be on game development, from concept to postmorthem. Again there are many tutorials outhere that gives information on effects, but not to many that cover the whole process, including design,documentation, API independence, copyrights,licensing, publish, product deployment, support, etc.,etc., etc. Of couse I will not cover everything in detail, but it will serve as a beginners map to someone that seriously want to get into the business. If the person doesn't get scare off by the reality of todays market place. In reality, given the work hours needed to complete a production is imposible for a person to make a quality commercial game out by him/herselve. But it doesn't hurt to have an introduction on it.
Because of this my enfasis is on readability and understanding by a beginner developer. I choose OpenGL. Dont get me wrong, I have program Direc3D since version 3.0 (Horrible version where you need to push your primitives). Until DX 5.0, (the 4.0 never reach the public) Direct3D was not even near to OpenGL, and it wasnt until DX7.0 that they where paired to OpenGL. I must say that Im impress with DX9.0, but Im more impress with the OpenGL 2.0 specification (in wich the shaders are very near renderman).
I'm making the the tutorial in spanish because there are already a miriad of tutorials in english outhere, so I feel there no need for another one in english.
Since my native language is spanish I know what it was like trying to find information and then trying to comunicate it to other people that also have spanish as their first language. Granted, at this moment in time anyone that will seriously go into game development should learn to think in english, because there is a serious lack of information in spanish. A language which hundred of millions of persons speak, write and think.
Anyway, if the tutorial goes ok, If shouldn't be difficult to translate it into english. That is, if anyone have an interest of it. (As I said, there are many tutorials in english outhere).
Henk-Jan
Have you the latest version of the DirectX SDK is the 9a. Also make sure you have the debugging version of DX running at maximun verbose debug level. At first I tough that it was because I included DirectInput on a program I was making, so I compiled lesson 1 of nehe opengl tutorials and run it on debug mode to make sure. Thus The NVIDIA Drivers of OpenGL do use DirectX internally probably to avoid repetitive code, which is no big deal, but at least they should leave the DirectX debug information out of my window ;grin;
A little explanation
The enfasis on my many chapter tutorial will be on game development, from concept to postmorthem. Again there are many tutorials outhere that gives information on effects, but not to many that cover the whole process, including design,documentation, API independence, copyrights,licensing, publish, product deployment, support, etc.,etc., etc. Of couse I will not cover everything in detail, but it will serve as a beginners map to someone that seriously want to get into the business. If the person doesn't get scare off by the reality of todays market place. In reality, given the work hours needed to complete a production is imposible for a person to make a quality commercial game out by him/herselve. But it doesn't hurt to have an introduction on it.
Because of this my enfasis is on readability and understanding by a beginner developer. I choose OpenGL. Dont get me wrong, I have program Direc3D since version 3.0 (Horrible version where you need to push your primitives). Until DX 5.0, (the 4.0 never reach the public) Direct3D was not even near to OpenGL, and it wasnt until DX7.0 that they where paired to OpenGL. I must say that Im impress with DX9.0, but Im more impress with the OpenGL 2.0 specification (in wich the shaders are very near renderman).
The latest version is the Summer update, and that is 9.0b with some extra updates. That's what I use... and as I say, Lapsus generated no debug info at all, with everything set to highest.
Perhaps there's something funny going on in that particular program... Could you put the program online somewhere, so I can try it?
Oh, and OpenGL 2.0 is still very much vapourware, while DX9 has been available for ages... besides, OpenGL 2.0's shading stuff is very closely related to HLSL/vs2.0/ps2.0 (obviously, it's supposed to run on the same hardware), and therefore not really less or more "near renderman" than DX9 is. So I don't think it's a good reason to aim for vapourware that might do about the same as something that is already readily available, and supported well by at least 4 vendors at this moment (ATi, NVIDIA, S3, XGI).
Perhaps there's something funny going on in that particular program... Could you put the program online somewhere, so I can try it?
Oh, and OpenGL 2.0 is still very much vapourware, while DX9 has been available for ages... besides, OpenGL 2.0's shading stuff is very closely related to HLSL/vs2.0/ps2.0 (obviously, it's supposed to run on the same hardware), and therefore not really less or more "near renderman" than DX9 is. So I don't think it's a good reason to aim for vapourware that might do about the same as something that is already readily available, and supported well by at least 4 vendors at this moment (ATi, NVIDIA, S3, XGI).
I dont think is the program. Since I tried with the simplest OpenGL application I have found:
Any way, nehes tutorials is at:
http://nehe.gamedev.net
And the second VC++ tutorial is at:
http://nehe.gamedev.net/data/lessons/vc/lesson02.zip
It only outputs a triangle.
I complie it under Visual C++ .NET, with Direct3D9 debugging extensions.
Direct3D 9.0a
Also, in control panel, find the DirectX applet and in this dialog:
Make sure that the debug level is at maximun.
Any way, nehes tutorials is at:
http://nehe.gamedev.net
And the second VC++ tutorial is at:
http://nehe.gamedev.net/data/lessons/vc/lesson02.zip
It only outputs a triangle.
I complie it under Visual C++ .NET, with Direct3D9 debugging extensions.
Direct3D 9.0a
Also, in control panel, find the DirectX applet and in this dialog:
Make sure that the debug level is at maximun.
The only debug info I am getting is this:
4036: >> MSEnv extensibility IClassFactory::LockServer(TRUE), lock count: 1
(Compiled a debug-build with VS.NET 2003, the included exe gave no output whatsoever).
By the way, ASHLI (http://www.ati.com/developer/ashli.html) can already compile renderman shaders to Direct3D 9, so you don't need to wait for OpenGL 2.0 for that.
4036: >> MSEnv extensibility IClassFactory::LockServer(TRUE), lock count: 1
(Compiled a debug-build with VS.NET 2003, the included exe gave no output whatsoever).
By the way, ASHLI (http://www.ati.com/developer/ashli.html) can already compile renderman shaders to Direct3D 9, so you don't need to wait for OpenGL 2.0 for that.
Here is the full output that Im am getting
'lesson2.exe': Loaded 'C:\Documents and Settings\rick\Desktop\lesson02\Lesson02\Debug\lesson2.exe', Symbols loaded.
'lesson2.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded.
'lesson2.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', No symbols loaded.
'lesson2.exe': Loaded 'C:\WINDOWS\system32\opengl32.dll', No symbols loaded.
'lesson2.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', No symbols loaded.
'lesson2.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', No symbols loaded.
'lesson2.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', No symbols loaded.
'lesson2.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', No symbols loaded.
'lesson2.exe': Loaded 'C:\WINDOWS\system32\user32.dll', No symbols loaded.
'lesson2.exe': Loaded 'C:\WINDOWS\system32\glu32.dll', No symbols loaded.
'lesson2.exe': Loaded 'C:\WINDOWS\system32\ddraw.dll', No symbols loaded.
'lesson2.exe': Loaded 'C:\WINDOWS\system32\dciman32.dll', No symbols loaded.
Direct3D9: :====> ENTER: DLLMAIN(5104c35f): Process Attach: 000000dc, tid=00000338
Direct3D9: :====> EXIT: DLLMAIN(5104c35f): Process Attach: 000000dc
Direct3D9: :Reading App Compatiblity Information
Direct3D9: :Reading Registry
Direct3D9: (INFO) : ModeXOnly: 0
Direct3D9: (INFO) : EmulationOnly: 0
Direct3D9: (INFO) : ShowFrameRate: 0
Direct3D9: (INFO) : EnablePrintScreen: 0
Direct3D9: (INFO) : DisableAGPSupport: 0
Direct3D9: (INFO) : DisableMMX: 0
Direct3D9: (INFO) : DisableWiderSurfaces:0
Direct3D9: (INFO) : DisableNoSysLock:0
Direct3D9: (INFO) : ForceNoSysLock:0
Direct3D9: (INFO) : DisableInactivate:0
Direct3D9: :DirectDrawObjectCreate: oldpdd == 0x00000000, reset = 0
Direct3D9: :oldpdd == 0x00000000, reset = 0
Direct3D9: :oldpdd == NULL || reset
Direct3D9: (INFO) :NOT Setting DDCAPS_BANKSWITCHED
Direct3D9: (WARN) :Checking Processor for MMX support (Benign first-chance exception possible)
Direct3D9: (INFO) :This is an MMX machine.
Direct3D9: :HELInit for GDI Driver: Reference Count = 1
Direct3D9: (INFO) :*********** NOT!! ALLOWING MODE X AND VGA MODES
Direct3D9: :Calling HAL for create surface, emulation == 0
Direct3D9: :*** Structs Surface 0 ***
Direct3D9: :**************************
Direct3D9: :Calling driver to see if it wants to say something about create surface
Direct3D9: : CreateSurface returns 00000000 (0)
Direct3D9: :InternalLock: Calling driver Lock.
Direct3D9: :Resetting VisRgn for surface 3284fc
Direct3D9: :Bumping surface stamp
'lesson2.exe': Loaded 'C:\Program Files\Yahoo!\Messenger\idle.dll', No symbols loaded.
'lesson2.exe': Loaded 'C:\WINDOWS\system32\nvoglnt.dll', No symbols loaded.
'lesson2.exe': Loaded 'C:\WINDOWS\system32\mcd32.dll', No symbols loaded.
'lesson2.exe': Unloaded 'C:\WINDOWS\system32\mcd32.dll'
Direct3D9: (INFO) :Resetting primary surface
Direct3D9: :ProcessSurfaceCleanup
Direct3D9: :Leaving ProcessSurfaceCleanup
Direct3D9: :ProcessPaletteCleanup, ppal=00000000
Direct3D9: :ProcessClipperCleanup
Direct3D9: :Not cleaning up clippers not owned by a driver object
Direct3D9: :ProcessVideoPortCleanup
Direct3D9: :Leaving ProcessVideoPortCleanup
Direct3D9: :ProcessMotionCompCleanup
Direct3D9: :Leaving ProcessMotionCompCleanup
Direct3D9: (INFO) :Mode was never changed by this app
Direct3D9: :FREEING DRIVER OBJECT
Direct3D9: :Calling HEL DestroyDriver
Direct3D9: :0 surfaces allocated - 0 bytes total
Direct3D9: :*********** DDHEL TIMING INFO ************
Direct3D9: :******************************************
Direct3D9: :Driver is now FREE
Direct3D9: :====> ENTER: DLLMAIN(5104c35f): Process Detach 000000dc, tid=00000338
Direct3D9: (INFO) :MemFini!
Direct3D9: :====> EXIT: DLLMAIN(5104c35f): Process Detach 000000dc
The program '[220] lesson2.exe: Native' has exited with code 0 (0x0).
Originally posted by Henk-Jan
By the way, ASHLI (http://www.ati.com/developer/ashli.html) can already compile renderman shaders to Direct3D 9, so you don't need to wait for OpenGL 2.0 for that.
By the way, ASHLI (http://www.ati.com/developer/ashli.html) can already compile renderman shaders to Direct3D 9, so you don't need to wait for OpenGL 2.0 for that.
Nice.
Hmm, have you notice the text below figure one:
figure1.jpg - Snapshot of Ashli Viewer showing the list of programs, RenderMan? shader and target ARB_fragment_program.
Seems that it also supports OpenGL.
Anyway, lets strive for API independance.
Yes, but not OpenGL 2.0. Basically it only supports Radeon 9500+ and GeForce FX (bad performance) at this time.
BTW:
I installed the Direct3D debugger on VC++
When you did the test did you have this on the debug menu of VC++?
I installed the Direct3D debugger on VC++
When you did the test did you have this on the debug menu of VC++?
Yes, but I did not use it.
Even if I do, I get no Direct3D-related debug output.
Even if I do, I get no Direct3D-related debug output.
Then I dont understand. Weird
Anyway it does not matter, my hipotesis is that they only initialize and deinitialize the window troigh DX9
For the record:
Anyway it does not matter, my hipotesis is that they only initialize and deinitialize the window troigh DX9
For the record: