Project proposal: IrrTech

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.

Does this sound like a good idea to you?

Yes it seems like a good way to get new features.
18
75%
No it sounds like a bad idea that wouldn't work.
5
21%
Yes, and I want to help.
1
4%
 
Total votes: 24

Radikalizm
Posts: 1215
Joined: Tue Jan 09, 2007 7:03 pm
Location: Leuven, Belgium

Post by Radikalizm »

3DModelerMan wrote:Yeah, with DX11's feature levels we could just have all the drivers higher than D3D 9.0 in a single class.
The only other issue would be that people still using WinXP wouldn't be able to use it, since you'd need support for DX11 on the software-side, which is only available natively on Win7 and through an update on Vista
I made a decision from the beginning of planning for my engine that I wouldn't support XP though, it's been about 10 years since the OS was released and although Vista wasn't that great, 7 made up for it pretty decently (I haven't had any issues with 7 to date, while my setup changes rather often), and there's absolutely no reason as an individual end-user to stick with XP (although many anti-MS people will disagree with me)
mongoose7
Posts: 1227
Joined: Wed Apr 06, 2011 12:13 pm

Post by mongoose7 »

You'd cut me out?

Surely clever use of #define would allow having DX9 and DX11? Just having a file for DX9 and another for DX11 and conditionally compiling one or the other would seem to get around the problem.
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Post by hendu »

...but as dev, you'd be ignoring 50% of the windows market...
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

Radikalizm wrote:
3DModelerMan wrote:Yeah, with DX11's feature levels we could just have all the drivers higher than D3D 9.0 in a single class.
I made a decision from the beginning of planning for my engine that I wouldn't support XP though, it's been about 10 years since the OS was released and although Vista wasn't that great, 7 made up for it pretty decently (I haven't had any issues with 7 to date, while my setup changes rather often), and there's absolutely no reason as an individual end-user to stick with XP (although many anti-MS people will disagree with me)
Even though now I'm using KUbuntu and win7 dual boot I'd better like having xp instead of win7. Simply because some older games (especially the ones that run on one thread) still run faster on XP than on win7. And I use windows only for some gaming when I get frustrated with my project :D
Working on game: Marrbles (Currently stopped).
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Post by CuteAlien »

hendu wrote:...but as dev, you'd be ignoring 50% of the windows market...
For hardcore gamers the XP markets seems to be down to around 20% by now (http://store.steampowered.com/hwsurvey/). For casual gamers I guess it's still higher. But well - if you can develop twice as fast then ignoring 50% of a market still works out :-)
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Radikalizm
Posts: 1215
Joined: Tue Jan 09, 2007 7:03 pm
Location: Leuven, Belgium

Post by Radikalizm »

I'm of the opinion that people should really move on, Windows 8 will hit the shelves around the end of 2012 if I remember correctly, and it will already be the third iteration of windows after WinXP
All support for Windows XP will be completely terminated about 1.5 years after Win8 goes RTM, so I believe people should really start considering an alternative

If anyone decides to keep on using Windows XP, that's absolutely fine with me, but I don't think devs who want to use next-/current-gen technology should limit themselves because people want to stick with 10 year old software
3DModelerMan
Posts: 1691
Joined: Sun May 18, 2008 9:42 pm

Post by 3DModelerMan »

I'm thinking I'll write a DirectX11 driver after I'm done with the shader system I'm writing (which will be an external library). The only thing I haven't researched enough to be 100% confident that I can get it working with minimal Irrlicht API changes is the shader parameter setting. Constant buffers are kinda annoying in that case.
That would be illogical captain...

My first full game:
http://www.kongregate.com/games/3DModel ... tor#tipjar
Radikalizm
Posts: 1215
Joined: Tue Jan 09, 2007 7:03 pm
Location: Leuven, Belgium

Post by Radikalizm »

You don't necessarily have to use constant buffers (although it is advised to use them for obvious reasons), maybe you should start off without them and gradually build them in after the core elements of the driver are implemented
But as I said before, I don't think it can be done without a certain degree of intrusion in the current API
3DModelerMan
Posts: 1691
Joined: Sun May 18, 2008 9:42 pm

Post by 3DModelerMan »

Yeah, there might be some API changes but I would make sure to keep them minimal. Here's a preview of the shader system I'm writing. It will allow loading of shaders from xml files with callbacks, but here's the shader class. I haven't implemented any shader cache yet, or any special loaders, but I'm going to soon. I don't know if it will be finished before I go on vacation though...
Assume node is a mesh scene node.

Code: Select all

//First we create a simple shader that just outputs red.
 IShader* simpleShader = new CShader(driver,"simple_shader.hlsl",EMT_SOLID,"mainPS","mainVS",EVST_VS_2_0,EPST_PS_2_0);

 //Now we can enable the built in inputs.
 simpleShader->enableBuiltInInput(video::EBII_WORLD_VIEW_PROJECTION_MATRIX);//We just enable the worl view projection matrix here

 node->setMaterialType(*simpleShader);//Now we just set the shader as the material type.
And here's the shader that I tested with.

Code: Select all

float4x4 WorldViewProj;

void mainVS(
 in float4 inPosition : POSITION0,
 in float2 inTexCoord : TEXCOORD0,
 out float4 outPosition : POSITION0,
 out float2 outTexCoord : TEXCOORD0
) 
{
 outPosition = mul(inPosition, WorldViewProj);
 outTexCoord = inTexCoord;
}

void mainPS(
 in float4 inTexCoord: TEXCOORD0,
 out float4 outColor : COLOR0
)
{
 outColor = float4(1,1,1,1);
}
I'll test some more elaborite ones later.
That would be illogical captain...

My first full game:
http://www.kongregate.com/games/3DModel ... tor#tipjar
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Post by hendu »

CuteAlien wrote:For hardcore gamers the XP markets seems to be down to around 20% by now (http://store.steampowered.com/hwsurvey/). For casual gamers I guess it's still higher. But well - if you can develop twice as fast then ignoring 50% of a market still works out :-)
I disagree using Steam as a marker for "hardcore" (I know many who have been burned by it in the past and would never install it again). Also if you put out twice as many sequels, I doubt that would improve total sales any way :P
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Post by CuteAlien »

Radikalizm wrote:If anyone decides to keep on using Windows XP, that's absolutely fine with me, but I don't think devs who want to use next-/current-gen technology should limit themselves because people want to stick with 10 year old software
I must admit I'm guilty of still using XP on my main system. Guess I'll switch when I get another computer one day, before that I simply have no motivation to update.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Radikalizm
Posts: 1215
Joined: Tue Jan 09, 2007 7:03 pm
Location: Leuven, Belgium

Post by Radikalizm »

CuteAlien wrote:
Radikalizm wrote:If anyone decides to keep on using Windows XP, that's absolutely fine with me, but I don't think devs who want to use next-/current-gen technology should limit themselves because people want to stick with 10 year old software
I must admit I'm guilty of still using XP on my main system. Guess I'll switch when I get another computer one day, before that I simply have no motivation to update.
I don't want to bash XP or XP-users, XP was a great OS and if you can get around by using it then you should use it by all means
Most technologies are moving away from XP however and active support for it is coming to an end, my engine won't be seeing an actual release in 2011, so by the time I am ready to release it even more users will have migrated away from XP, making XP support in my engine rather useless
3DModelerMan
Posts: 1691
Joined: Sun May 18, 2008 9:42 pm

Post by 3DModelerMan »

When I write the DirectX11 driver should I use the effects framework or not? It might fit into Irrlicht a little better without it... Does the DirectX9 driver use the effects framework?
That would be illogical captain...

My first full game:
http://www.kongregate.com/games/3DModel ... tor#tipjar
Radikalizm
Posts: 1215
Joined: Tue Jan 09, 2007 7:03 pm
Location: Leuven, Belgium

Post by Radikalizm »

3DModelerMan wrote:When I write the DirectX11 driver should I use the effects framework or not? It might fit into Irrlicht a little better without it... Does the DirectX9 driver use the effects framework?
The FX framework is supported on D3D9, but it differs somewhat from the D3D10 and D3D11 versions
I wouldn't use the FX framework, it'd be a better idea to replace it with a custom material framework which can be applied to both DX and OGL shaders
I'm using the FX framework myself at this point, but getting rid of it in favor of my own material system is on my production schedule :D
3DModelerMan
Posts: 1691
Joined: Sun May 18, 2008 9:42 pm

Post by 3DModelerMan »

Does anyone know if Irrlicht has a multi map data structure? If it doesn't would the developers be acceptive of one? A multi map would be needed for the DirectX11 driver; and Irrlicht doesn't use the standard library structures. So I don't want my Driver to be dependent on them... A useful thing to have for DirectX11 would be a driver extension interface. It would be nice to have the video driver contain a pointer to a driver extension interface that would implement methods specific to a certain driver type (like constant buffer updates in DirectX11).
That would be illogical captain...

My first full game:
http://www.kongregate.com/games/3DModel ... tor#tipjar
Post Reply