Build A World - new massive game, using Irrlicht
Re: Build A World - new massive game, using Irrlicht
we're having issues with irrlicht's input on Linux, apparently different keyboards don't work
-
- Posts: 115
- Joined: Mon May 17, 2010 7:42 am
Re: Build A World - new massive game, using Irrlicht
O_O astonishing game
Re: Build A World - new massive game, using Irrlicht
50 OpenGL Extensions later
we did another update (version 0.517)
and I have modified irrlicht in epic ways
-REMOVED THE EVIL IImage COPY WHEN CREATING TEXTURES (no redundant data in RAM)
-INTRODUCED HARDWARE TEXTURE COMPRESSION! (DDS loader which decompresses does not count)
-INTRODUCED 24 NEW ECF_ image formats!
we did another update (version 0.517)
and I have modified irrlicht in epic ways
-REMOVED THE EVIL IImage COPY WHEN CREATING TEXTURES (no redundant data in RAM)
-INTRODUCED HARDWARE TEXTURE COMPRESSION! (DDS loader which decompresses does not count)
-INTRODUCED 24 NEW ECF_ image formats!
Re: Build A World - new massive game, using Irrlicht
Update 15-05-2013
- books added
- numerous optimizations of the server
- powersystem bug fixed
- frozen mobs bug fixed
- new eat static soundtrack
- motionblur when user gets damage
- new constructiontool will let user take a construction. select tool and left click on a construction
- repairblock can be used to repair constructions
- lots of wierd construction blocks removed from inventory
- hit esc to close a blue window
- click g on a spawnpoint to activate it. several players can share same spawnpoint
- changed graphics for force field generator
- added country for the player when pressing tab
- force field blinking bug fixed
- added hardware texture compression
- explicit mip maps generated with the lanczos/sinc filter, of for uber high quality and faster load times
- fixed mutiple copies (irrlicht) of graphics in memory. cut 100Mb clean off of memory usage
- firesound bugs fixed
- windturbines sounds lower priority
- added all countries to the epay system
- did a lot of testing... on users maps
- books added
- numerous optimizations of the server
- powersystem bug fixed
- frozen mobs bug fixed
- new eat static soundtrack
- motionblur when user gets damage
- new constructiontool will let user take a construction. select tool and left click on a construction
- repairblock can be used to repair constructions
- lots of wierd construction blocks removed from inventory
- hit esc to close a blue window
- click g on a spawnpoint to activate it. several players can share same spawnpoint
- changed graphics for force field generator
- added country for the player when pressing tab
- force field blinking bug fixed
- added hardware texture compression
- explicit mip maps generated with the lanczos/sinc filter, of for uber high quality and faster load times
- fixed mutiple copies (irrlicht) of graphics in memory. cut 100Mb clean off of memory usage
- firesound bugs fixed
- windturbines sounds lower priority
- added all countries to the epay system
- did a lot of testing... on users maps
Build A World -> http://www.buildaworld.net/
Build A World EDU -> http://edu.buildaworld.net/
BAW on Facebook -> http://www.facebook.com/BuildAWorld.net
BAW on YouTube -> http://www.youtube.com/user/wwwbuildaworldnet/videos
Build A World EDU -> http://edu.buildaworld.net/
BAW on Facebook -> http://www.facebook.com/BuildAWorld.net
BAW on YouTube -> http://www.youtube.com/user/wwwbuildaworldnet/videos
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
Re: Build A World - new massive game, using Irrlicht
Irrlicht also has full DDS texture support since a few weeks And if you provide additional texture handling in your app, then of course some automatisms in the engine can be avoided. But what about texture locking, do you create IImages then? And when do you remove them?devsh wrote:and I have modified irrlicht in epic ways
-REMOVED THE EVIL IImage COPY WHEN CREATING TEXTURES (no redundant data in RAM)
-INTRODUCED HARDWARE TEXTURE COMPRESSION! (DDS loader which decompresses does not count)
Re: Build A World - new massive game, using Irrlicht
I said DDS loader does not count if it doesnt support texture compression in OpenGL/D3D, we also found out why the DDS loader failed to work on 64bit machines (your DDS header struct has a pointer in it which is 8 bytes on 64bit machines turning the entire thing into 132 bytes instead of 128 and that misaligns a lot of the data members)
OUR mod of the DDS loader removes the software decode (conversion into RGBA) because its pointless AND patent infringing (without a license from S3), if you feed the data to OGL its not a problem because OGL drivers have the license.
The loader also supports loading the mip maps (so you can save load time and have better mip mapping - lanczos filter)
We don't lock() textures, because this is an inferior part of the irrlicht engine (something imposed on the OpenGL implementation to mimic DirectX syntax and behaviour). We do all CPU<->GPU transfers with Asynchronous Texture Transfers (a few buffers inbetween to minimize CPU GPU stall) - in some cases this results in DMA.
OUR mod of the DDS loader removes the software decode (conversion into RGBA) because its pointless AND patent infringing (without a license from S3), if you feed the data to OGL its not a problem because OGL drivers have the license.
The loader also supports loading the mip maps (so you can save load time and have better mip mapping - lanczos filter)
We don't lock() textures, because this is an inferior part of the irrlicht engine (something imposed on the OpenGL implementation to mimic DirectX syntax and behaviour). We do all CPU<->GPU transfers with Asynchronous Texture Transfers (a few buffers inbetween to minimize CPU GPU stall) - in some cases this results in DMA.
Re: Build A World - new massive game, using Irrlicht
As hybrid said, you have old info - the current DDS loader passes them compressed, including mipmaps.
Re: Build A World - new massive game, using Irrlicht
also we learned how to differentiate between DXT with RGB or RGBA data
Code: Select all
void DDSDecodePixelFormat( ddsBuffer *dds, eDDSPixelFormat *pf )
{
/* dummy check */
if( dds == NULL || pf == NULL )
return;
/* extract fourCC */
const u32 fourCC = dds->pixelFormat.fourCC;
/* test it */
if( fourCC == 0 )
{
*pf = DDS_PF_ARGB8888;
}
else if( fourCC == *((u32*) "DXT1") )
{
if (dds->pixelFormat.privateFormatBitCount==24)
*pf = DDS_PF_DXT1;
else if (dds->pixelFormat.privateFormatBitCount==32)
*pf = DDS_PF_DXT1_ALPHA;
}
else if( fourCC == *((u32*) "DXT2") )
*pf = DDS_PF_DXT2;
else if( fourCC == *((u32*) "DXT3") )
*pf = DDS_PF_DXT3;
else if( fourCC == *((u32*) "DXT4") )
*pf = DDS_PF_DXT4;
else if( fourCC == *((u32*) "DXT5") )
*pf = DDS_PF_DXT5;
else
*pf = DDS_PF_UNKNOWN;
}
Re: Build A World - new massive game, using Irrlicht
That's not big-endian safe, nor even buildable by strict compilers.
Re: Build A World - new massive game, using Irrlicht
A) Not my code... this is original irrlicht code!!! The bit which is mine:
A strict compiler would compile the above
The rest is all irrlicht... so you see
Anyway, who cares about Big Endian??? Srsly, who will play a game requiring 512mb of VRAM on a PowerPC MAC from 2006???
Before you start worrying about Big Endian compatibility, you better worry about supporting ARM!!!
Actually you may first worry about using linear search 3 times to find your occlusion queries (rofl)
Code: Select all
if (dds->pixelFormat.privateFormatBitCount==24)
*pf = DDS_PF_DXT1;
else if (dds->pixelFormat.privateFormatBitCount==32)
*pf = DDS_PF_DXT1_ALPHA;
The rest is all irrlicht... so you see
Anyway, who cares about Big Endian??? Srsly, who will play a game requiring 512mb of VRAM on a PowerPC MAC from 2006???
Before you start worrying about Big Endian compatibility, you better worry about supporting ARM!!!
Actually you may first worry about using linear search 3 times to find your occlusion queries (rofl)
Re: Build A World - new massive game, using Irrlicht
Build A World -> http://www.buildaworld.net/
Build A World EDU -> http://edu.buildaworld.net/
BAW on Facebook -> http://www.facebook.com/BuildAWorld.net
BAW on YouTube -> http://www.youtube.com/user/wwwbuildaworldnet/videos
Build A World EDU -> http://edu.buildaworld.net/
BAW on Facebook -> http://www.facebook.com/BuildAWorld.net
BAW on YouTube -> http://www.youtube.com/user/wwwbuildaworldnet/videos
Re: Build A World - new massive game, using Irrlicht
It sucks either case Your bit is fine.Not my code... this is original irrlicht code!!!
Many current ARM and MIPS chips do big-endian. It's not just old Macs.Anyway, who cares about Big Endian??? Srsly, who will play a game requiring 512mb of VRAM on a PowerPC MAC from 2006???
Before you start worrying about Big Endian compatibility, you better worry about supporting ARM!!!
I agree, that also sucks. I'm also doing only manual occlusion queries, not using them via irr.Actually you may first worry about using linear search 3 times to find your occlusion queries (rofl)
Re: Build A World - new massive game, using Irrlicht
Build A World -> http://www.buildaworld.net/
Build A World EDU -> http://edu.buildaworld.net/
BAW on Facebook -> http://www.facebook.com/BuildAWorld.net
BAW on YouTube -> http://www.youtube.com/user/wwwbuildaworldnet/videos
Build A World EDU -> http://edu.buildaworld.net/
BAW on Facebook -> http://www.facebook.com/BuildAWorld.net
BAW on YouTube -> http://www.youtube.com/user/wwwbuildaworldnet/videos