rendering APIs
rendering APIs
Hello people,
I'm fairly new to the Irrlicht engine, and wanted to hear more about the 6 rendering APIs Irrlicht supports.
I have some questions, too.
1. From my experience, software renderers run quite slowly, and the image gets.. weird. I didn't find a use for them, could you enlighten me with examples of situations where I could need these?
2. What's the use of the null device?
3. My application automatically closes when I choose a Direct3D renderer, and it happens the same to everyone I've sent it to. Do I have to include some DLL's in the package, or something? I don't know what I'm missing.
EDIT: Found this topic. Might just be what I need, but I've not tested it yet.
4. After all, I guess that for my game, I'll just have to decide if I use D3D or OpenGL. Is it wise to make the game do some test at startup to know which one will perform better? Is that even possible? (Preferably without the user noticing the test is taking place) If not, what do I do? I know that in some machines OpenGL will perform better, but in others, D3D will own. So, should I just choose one by default, and let user change... or what? The test at startup idea sounds good to me, but I'm not sure.
If it's a good idea, I found this topic. Is that a good solution?
Thanks in advance!
I'm fairly new to the Irrlicht engine, and wanted to hear more about the 6 rendering APIs Irrlicht supports.
I have some questions, too.
1. From my experience, software renderers run quite slowly, and the image gets.. weird. I didn't find a use for them, could you enlighten me with examples of situations where I could need these?
2. What's the use of the null device?
3. My application automatically closes when I choose a Direct3D renderer, and it happens the same to everyone I've sent it to. Do I have to include some DLL's in the package, or something? I don't know what I'm missing.
EDIT: Found this topic. Might just be what I need, but I've not tested it yet.
4. After all, I guess that for my game, I'll just have to decide if I use D3D or OpenGL. Is it wise to make the game do some test at startup to know which one will perform better? Is that even possible? (Preferably without the user noticing the test is taking place) If not, what do I do? I know that in some machines OpenGL will perform better, but in others, D3D will own. So, should I just choose one by default, and let user change... or what? The test at startup idea sounds good to me, but I'm not sure.
If it's a good idea, I found this topic. Is that a good solution?
Thanks in advance!
Last edited by BMF on Tue Jul 24, 2007 9:54 am, edited 1 time in total.
1. software renderers would be used when nothing better (like opengl or directx) is available, but they're rubbish basically. Though the burning one is quite good apparently.
2. the null device i've used to get the desktop resolution of the pc the program is running on, that's all really, don't think it has much of a use otherwise.
3. yes you need to include 2 directx .dlls, not sure where they come from though i'm afraid.
4. not sure if you could do a good test of which would work best on the system it's being run on so the best thing to do is let the user choose from an options menu so they can see which fits best. obviously not great for people who dont know the difference between them or what they even mean but it's the best way of handling it i think.
EDIT:
4. that topic you linked to looks like the best way of auto choosing i guess. It's something i thought of but wondered if it would work well, you could try it out and see how it performs for you and whether it creates a long waiting time for the user or anything.
2. the null device i've used to get the desktop resolution of the pc the program is running on, that's all really, don't think it has much of a use otherwise.
3. yes you need to include 2 directx .dlls, not sure where they come from though i'm afraid.
4. not sure if you could do a good test of which would work best on the system it's being run on so the best thing to do is let the user choose from an options menu so they can see which fits best. obviously not great for people who dont know the difference between them or what they even mean but it's the best way of handling it i think.
EDIT:
4. that topic you linked to looks like the best way of auto choosing i guess. It's something i thought of but wondered if it would work well, you could try it out and see how it performs for you and whether it creates a long waiting time for the user or anything.
Thanks, that's what I thought. Not much use for me right now.1. software renderers would be used when nothing better (like opengl or directx) is available, but they're rubbish basically. Though the burning one is quite good apparently.
2. the null device i've used to get the desktop resolution of the pc the program is running on, that's all really, don't think it has much of a use otherwise.
I see.. I'll look for them. If anyone knows which are the needed .dlls, info would be greatly appreciated! =)3. yes you need to include 2 directx .dlls, not sure where they come from though i'm afraid.
EDIT: Found this topic. Might just be what I need, but I've not tested it yet.
Yeh, I'll see how fast the test can be done, and how it affects the user, then decide what to do. I'm wishing the test takes place really fast and I can use it. =P4. not sure if you could do a good test of which would work best on the system it's being run on so the best thing to do is let the user choose from an options menu so they can see which fits best. obviously not great for people who dont know the difference between them or what they even mean but it's the best way of handling it i think.
4. that topic you linked to looks like the best way of auto choosing i guess. It's something i thought of but wondered if it would work well, you could try it out and see how it performs for you and whether it creates a long waiting time for the user or anything.
Also, letting the user decide which one to use, as you mentioned, is a bad way, I think. I just don't like the idea of people who don't know what renderers are needing to try them to get the best result.. so yeah, I'd rather use some kind of test, just the first time you run the app. Then store the result somewhere, and we're ready to go.
I think this download (http://www.gprogs.com/gg.Irrlicht/IrrDX_v1_1.zip) has the two dlls that i used with irrlicht for DX support. That's all you need is the two dlls and place them in the directory with the executable.
well u don'T need any dlls......
just download the current dx sdk and link the libs into irrlicht and recompile. thats basicly it. then u don't need any dlls. when using visualstudio u don't have to do this because there dx is already compiled.
i actually don't know why this seams so hard. when u read the command line message of irrlicht saying directx is not compiled in this dll.....hmmm what should u do then.
just download the current dx sdk and link the libs into irrlicht and recompile. thats basicly it. then u don't need any dlls. when using visualstudio u don't have to do this because there dx is already compiled.
i actually don't know why this seams so hard. when u read the command line message of irrlicht saying directx is not compiled in this dll.....hmmm what should u do then.
We're programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We're not excited by renovation:tinkering,improving,planting flower beds.
right, but people who know what they are for would like to choose it on theyr own...BMF wrote:Also, letting the user decide which one to use, as you mentioned, is a bad way, I think. I just don't like the idea of people who don't know what renderers are needing to try them to get the best result..
I think a really good way would be this:
on first start make this test and choose the best driver
also make an option menu where the user can change the settings plus a button "auto detect"
so both user types are satified...
while(!asleep) sheep++;
IrrExtensions:
http://abusoft.g0dsoft.com
try Stendhal a MORPG written in Java
IrrExtensions:
http://abusoft.g0dsoft.com
try Stendhal a MORPG written in Java
-
- Posts: 10
- Joined: Wed Jul 11, 2007 11:03 am
- Location: UK
Thanks man, I'll just try those. Hope they work for version 1.3.1, which is the Irrlicht version I'm using. The files I found earlier were for 1.3, and didn't work.JP wrote: I think this download (http://www.gprogs.com/gg.Irrlicht/IrrDX_v1_1.zip) has the two dlls that i used with irrlicht for DX support. That's all you need is the two dlls and place them in the directory with the executable.
The current dx sdk? You mean that +400MB file from microsoft.com?Sudi wrote:well u don'T need any dlls......
just download the current dx sdk and link the libs into irrlicht and recompile. thats basicly it. then u don't need any dlls. when using visualstudio u don't have to do this because there dx is already compiled.
i actually don't know why this seams so hard. when u read the command line message of irrlicht saying directx is not compiled in this dll.....hmmm what should u do then.
That sounds like the best approach, indeed. ^^Acki wrote: right, but people who know what they are for would like to choose it on theyr own... Wink
I think a really good way would be this:
on first start make this test and choose the best driver
also make an option menu where the user can change the settings plus a button "auto detect"
so both user types are satified...
Ah, you are right. Thanks!evilbobthebob wrote: Actually, I find the null device very useful to check whether my meshes and textures are loading properly.
So I still didn't manage to get directx renderers to work, but I've not tried JP's file yet. My hopes are in there. =P
-
- Posts: 224
- Joined: Tue Oct 25, 2005 4:32 pm
- Location: Louisiana, USA, backwater country
- Contact:
you can find various "lite" versions of the dx sdk around. in fact i have one on the irc dump:
http://irrlichtirc.g0dsoft.com/rooly/MS_DX9_SDK.7z
*note*
you'll need 7zip to get it, but thats a good thing anyway.
http://irrlichtirc.g0dsoft.com/rooly/MS_DX9_SDK.7z
*note*
you'll need 7zip to get it, but thats a good thing anyway.
When banks compete, you win.
When ISPs compete, you win.
When electronics retailers compete, you win.
When governments compete...you get drafted.
When ISPs compete, you win.
When electronics retailers compete, you win.
When governments compete...you get drafted.
-
- Posts: 170
- Joined: Sun Jul 01, 2007 11:41 pm
- Location: Manchester, UK
I'm afraid that works for Irrlicht 1.1, but not for 1.3.1, which is the version I'm using.JP wrote:I think this download (http://www.gprogs.com/gg.Irrlicht/IrrDX_v1_1.zip) has the two dlls that i used with irrlicht for DX support. That's all you need is the two dlls and place them in the directory with the executable.
Thanks, I got it already. Now I have the lib and the include folders, but don't really know which header files I need to include, and which lib's I need to link to. :/rooly wrote: you can find various "lite" versions of the dx sdk around. in fact i have one on the irc dump:
http://irrlichtirc.g0dsoft.com/rooly/MS_DX9_SDK.7z
*note*
you'll need 7zip to get it, but thats a good thing anyway.
Noone seems to remember.SwitchCase wrote: You dont need to download the dx sdk... you can download a recompiled irrlicht dll with d3d. The only problem is, i can't remember where.
Please guys, I need some help here. Surprisingly, I've not been able to get the directx renderers to work yet. Does someone know where to find a recompiled irrlicht dll with d3d? Searching gives no result... I'm quite surprised, since this should be a fairly common problem.. I thought.
Thanks for the replies though.
Not sure if this one will work: http://www.gprogs.com/irrlicht.mod/IrrDX_v1_3.zip
Got that from the same website
If that doesn't then i'd have thought the irrlicht .dll in irrlicht-1.3.1\bin\Win32-VisualStudio should work as i can run all the samples in that folder with DX (though maybe the PC i'm on has DX dlls somewhere else).
Got that from the same website
If that doesn't then i'd have thought the irrlicht .dll in irrlicht-1.3.1\bin\Win32-VisualStudio should work as i can run all the samples in that folder with DX (though maybe the PC i'm on has DX dlls somewhere else).
Re: rendering APIs
The software renderers allow you to render on platforms where you don't have any access to 3d hardware, for example on a web server, or the ps2.BMF wrote: 1. From my experience, software renderers run quite slowly, and the image gets.. weird. I didn't find a use for them, could you enlighten me with examples of situations where I could need these?
2. What's the use of the null device?
The null device allows you to use Irrlicht where you don't want a window, or haven't decided to create one yet.
Some example uses I can think of:
Command line mesh converter, which can load all the mesh formats irrlicht can load and export them to a new format.
An image generation/manipulation tool, which can use meshes and images to generate output for anti-spambot captchas, or display previews and stats of meshes as they are uploaded to the web.
A distributed raytracer which loads scenes and uses the collision algorithms to generate pretty pictures.
The server-side part of your game, which doesn't need to be rewritten to exclude irrlicht code.
Thanks JP, I owe you one! The file you mention there didn't work, but the IrrDX_v1_3_1 did. Too bad I thought that site was outdated when you first linked me to it. It did ask for a d3dx9_31.dll file, I downloaded it and DirectX9's renderer started working. DirectX8 doesn't work yet, though. But what's the point in using DX8 when you can use DX9? For outdated computers or something?JP wrote:Not sure if this one will work: http://www.gprogs.com/irrlicht.mod/IrrDX_v1_3.zip
Got that from the same website
If that doesn't then i'd have thought the irrlicht .dll in irrlicht-1.3.1\bin\Win32-VisualStudio should work as i can run all the samples in that folder with DX (though maybe the PC i'm on has DX dlls somewhere else).
Thank you very much for the explanation and examples, bitplane! I so want to see a Irrlicht game on a PS2.bitplane wrote: The software renderers allow you to render on platforms where you don't have any access to 3d hardware, for example on a web server, or the ps2.
The null device allows you to use Irrlicht where you don't want a window, or haven't decided to create one yet.
Some example uses I can think of:
Command line mesh converter, which can load all the mesh formats irrlicht can load and export them to a new format.
An image generation/manipulation tool, which can use meshes and images to generate output for anti-spambot captchas, or display previews and stats of meshes as they are uploaded to the web.
A distributed raytracer which loads scenes and uses the collision algorithms to generate pretty pictures.
The server-side part of your game, which doesn't need to be rewritten to exclude irrlicht code.