3000th commit - IrrlichtBAW (GIT repo, v 0.3.0-gamma1)
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, v 0.
The next release will be the 0.3 release as the API changes are significant.
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, v 0.
Done a new Commit:
"
Separated out ITexture from IImage completely now
The CImageData class now only provides data for ITexture and IImage and does not require any support for manipulation on the image data.
With this change the groundwork has been laid for 1D textures, Cubemaps, 2D Multisample Textures and their array equivalents.
This will enable a permament fix of the DDS loader to allow compressed loads and mipmap chain loading as we do in BaW but without a direct CImageLoaderDDS and OpenGL function usage as work-around.
COpenGLState class has been finished, and numerous bugs were fixed.
The class' API is not finalized yet, members need to be packed into bitfields to reduce storage space and enable much faster checking if there exists any difference between states.
ITexture and COpenGLTexture interfaces have been cleaned up to clearly separate textures which can use hardware filtering and ones which cannot and should not bother changing sampler state such as Multisample Textures and Texture Buffer Objects.
ITextureBufferObject interface added for TBOs which are dimensionless.
IVirtualTexture added as a base for ITexture, ITextureBufferObject and future sparse textures and other complex abstractions such as SVOs.
"
Work left for version 0.3:
1) Refactoring the OpenGL full state tracker
2) Changing the Material system (more flexible blending and better state-change sorting)
3) Decoupling baseMaterial from shader
4) Adding Cubemap textures
5) Adding Multisample textures
Work left for version 0.3:
1) Introducing OpenGL 4.0 shader subroutine support
2) Compute Shaders
3) Order Independent Transparency Examples
Plans for versions 0.4.x:
1) Moving to UBOs and getting rid of setUniform
2) Atomic and ShaderStorage Buffers (ARB_image_load_store support as well)
3) Bounding Box culling to avoid animating/boning meshes which are guaranteed to be off-screen
4) UBO instead of TBO based vertex shader skinning
5) GPU Boning and Instanced Skinned Meshes
6) SDL2 Device
7) Better CPU to GPU Mesh conversion modes (making sure vertex attributes are interleaved
Quantization optimization post-load for CPU mesh vertex attributes
9) InstancedSkinnedMeshSceneNode with LoDs (together with a re-skin function for cpu meshes to reduce the number of bone weights per vertex)
10) Fast allocators for fast temporary scratch memory
Plans for later version:
1) booting out core::string and io::path
2) Quaternion only rotations
3) Improved Skinned Mesh Normal calculation
4) Replacing core::array with std::vector
5) 32bit aligned new, malloc and std::Allocators
6) Getting rid of fast_atof.h
7) Moving to C++11
Updating all 3rd party dependencies
9) Adding LZMA, OpenSSL and LZ4 as dependencies
10) ASSIMP 3 or 4 to handle all import/export
11) Native IrrlichtBAW binary format loader and saver (after lz4 and lzma)
"
Separated out ITexture from IImage completely now
The CImageData class now only provides data for ITexture and IImage and does not require any support for manipulation on the image data.
With this change the groundwork has been laid for 1D textures, Cubemaps, 2D Multisample Textures and their array equivalents.
This will enable a permament fix of the DDS loader to allow compressed loads and mipmap chain loading as we do in BaW but without a direct CImageLoaderDDS and OpenGL function usage as work-around.
COpenGLState class has been finished, and numerous bugs were fixed.
The class' API is not finalized yet, members need to be packed into bitfields to reduce storage space and enable much faster checking if there exists any difference between states.
ITexture and COpenGLTexture interfaces have been cleaned up to clearly separate textures which can use hardware filtering and ones which cannot and should not bother changing sampler state such as Multisample Textures and Texture Buffer Objects.
ITextureBufferObject interface added for TBOs which are dimensionless.
IVirtualTexture added as a base for ITexture, ITextureBufferObject and future sparse textures and other complex abstractions such as SVOs.
"
Work left for version 0.3:
1) Refactoring the OpenGL full state tracker
2) Changing the Material system (more flexible blending and better state-change sorting)
3) Decoupling baseMaterial from shader
4) Adding Cubemap textures
5) Adding Multisample textures
Work left for version 0.3:
1) Introducing OpenGL 4.0 shader subroutine support
2) Compute Shaders
3) Order Independent Transparency Examples
Plans for versions 0.4.x:
1) Moving to UBOs and getting rid of setUniform
2) Atomic and ShaderStorage Buffers (ARB_image_load_store support as well)
3) Bounding Box culling to avoid animating/boning meshes which are guaranteed to be off-screen
4) UBO instead of TBO based vertex shader skinning
5) GPU Boning and Instanced Skinned Meshes
6) SDL2 Device
7) Better CPU to GPU Mesh conversion modes (making sure vertex attributes are interleaved
Quantization optimization post-load for CPU mesh vertex attributes
9) InstancedSkinnedMeshSceneNode with LoDs (together with a re-skin function for cpu meshes to reduce the number of bone weights per vertex)
10) Fast allocators for fast temporary scratch memory
Plans for later version:
1) booting out core::string and io::path
2) Quaternion only rotations
3) Improved Skinned Mesh Normal calculation
4) Replacing core::array with std::vector
5) 32bit aligned new, malloc and std::Allocators
6) Getting rid of fast_atof.h
7) Moving to C++11
Updating all 3rd party dependencies
9) Adding LZMA, OpenSSL and LZ4 as dependencies
10) ASSIMP 3 or 4 to handle all import/export
11) Native IrrlichtBAW binary format loader and saver (after lz4 and lzma)
Re: MSAA on Render Targets - BAW Irrlicht (GIT repo, v 0.2.5
And cubemaps are working now... going to rewrite skybox to use them
Re: MSAA on Render Targets - BAW Irrlicht (GIT repo, v 0.2.5
DDS textures are finally loaded natively with compression and the whole mip-map chain if present....
Re: MSAA on Render Targets - BAW Irrlicht (GIT repo, v 0.2.5
OpenGL texture sub image update functions are used for implicit conversion between upload and storage formats (like RGB8 to ARGB8, etc.) and you can specify the format of the texture on the GPU when loading it either through IVideoDriver::getTexture or IVideoDriver::addTexture, so a mismatch between CImageData used to update a texture and the internal format of the texture is not an issue.
Re: MSAA on Render Targets - BAW Irrlicht (GIT repo, v 0.2.5
Just wanted to step in and say hello and thank you for this great contribution to the community. Just checking it out...
Aynthing special I have to take care off? Just downloaded 0.2.5 from Github. Can I compile it using VS 2017 under Windows 10? (just tried and it looks like I have to install the Win SDK first...)
Aynthing special I have to take care off? Just downloaded 0.2.5 from Github. Can I compile it using VS 2017 under Windows 10? (just tried and it looks like I have to install the Win SDK first...)
Re: MSAA on Render Targets - BAW Irrlicht (GIT repo, v 0.2.5
Use VS2017 and Win10... yes Win SDK is needed.
Also in any project that will use the library, define _IRR_STATIC_LIB_ (we don't support DLL builds).
Most examples do not have a corresponding VS2017 project, but since the codeblocks projects are nice and working and in XML format you should be able to make VS2017 solutions easily.
Note that 0.2.5 is commit 17 and its slightly out of date in regards to the texture loading API, and it might contain a few bugs in the COpenGLState class (which shouldn't be a problem unless you plan on using it to record and backup GL states).
Only issues by using an old version are:
1) You will not get native DDS loading (getTexture("something.dds") uncompressed or compressed)
2) No extra textures than 2D without acrobatics with internals of the engine (no 2D array or 3D)
3) No Cubemap textures
Also in any project that will use the library, define _IRR_STATIC_LIB_ (we don't support DLL builds).
Most examples do not have a corresponding VS2017 project, but since the codeblocks projects are nice and working and in XML format you should be able to make VS2017 solutions easily.
Note that 0.2.5 is commit 17 and its slightly out of date in regards to the texture loading API, and it might contain a few bugs in the COpenGLState class (which shouldn't be a problem unless you plan on using it to record and backup GL states).
Only issues by using an old version are:
1) You will not get native DDS loading (getTexture("something.dds") uncompressed or compressed)
2) No extra textures than 2D without acrobatics with internals of the engine (no 2D array or 3D)
3) No Cubemap textures
Re: MSAA on Render Targets - BAW Irrlicht (GIT repo, v 0.2.5
Thanks. I tried the latest stuff from github but got quite a lot of compiler errors, so I tried 0.2.5 but had no luck due to that missing Windows SDK yet... I've installed it now but there seems to be still something missing.
edit: Had the wrong (newer) Windows SDK version installed...
edit2: Tried your latest again. Here's the list of errors I get:
https://imgur.com/taud0c6
in text form:
By the way, there are tons of warnings as well. I guess they should be fixed, too?
edit: Had the wrong (newer) Windows SDK version installed...
edit2: Tried your latest again. Here's the list of errors I get:
https://imgur.com/taud0c6
in text form:
Code: Select all
Severity Code Description Project File Line Suppression State
Error C2039 'lock': is not a member of 'irr::video::IImage' Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\CIrrDeviceWin32.cpp 1231
Error C2039 'unlock': is not a member of 'irr::video::IImage' Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\CIrrDeviceWin32.cpp 1260
Error C2039 'lock': is not a member of 'irr::video::IImage' Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\CIrrDeviceWin32.cpp 1846
Error C2039 'unlock': is not a member of 'irr::video::IImage' Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\CIrrDeviceWin32.cpp 1870
Error C1083 Cannot open source file: 'CSoftwareDriver.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CSoftwareTexture.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRFlat.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRFlatWire.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRGouraud.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRGouraudWire.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureFlat.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureFlatWire.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureGouraud.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureGouraudAdd.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureGouraudNoZ.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureGouraudWire.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CZBuffer.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CImageLoaderWAL.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRGouraudAlpha2.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRGouraudAlphaNoZ2.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRNormalMap.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRStencilShadow.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureBlend.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureDetailMap2.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureLightMap2_Add.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureLightMap2_M1.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureLightMap2_M2.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureLightMap2_M4.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureLightMapGouraud2_M4.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CTRTextureWire2.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Error C1083 Cannot open source file: 'CIrrDeviceFB.cpp': No such file or directory Irrlicht c:\HOME\Projekte\IrrlichtBAW-master\source\Irrlicht\c1xx 1
Re: MSAA on Render Targets - BAW Irrlicht (GIT repo, v 0.2.5
0.2.5 is the last working on widows with VS2017
After that its current development and I use Linux only, after I have a new release ready we will fix up VS solution file.
We removed one of the software drivers, so thats why you have 'cannot open source' errors (these files not removed from VS project).
You're right about the warnings, irrlicht 1.8.3 from which we forked had 1800 warnings during compile in general.
When I have an intern I will fix the warnings.
Can you enlighten me as to what problems a newer Windows SDK poses?
After that its current development and I use Linux only, after I have a new release ready we will fix up VS solution file.
We removed one of the software drivers, so thats why you have 'cannot open source' errors (these files not removed from VS project).
You're right about the warnings, irrlicht 1.8.3 from which we forked had 1800 warnings during compile in general.
When I have an intern I will fix the warnings.
Can you enlighten me as to what problems a newer Windows SDK poses?
Re: MSAA on Render Targets - BAW Irrlicht (GIT repo, v 0.2.5
Regarding that newer Windows SDK: It doesn't make problems, it looks like the solution has a fixed setting to a specific SDK version (an older one).
BTW: 0.2.5 doesn't compile either, I get quite a ton of "'lower_bound': is not a member of 'std'" errors. Probably due to a missing include somewhere?
edit:
adding
#include <algorithm>
in IDummyTransformationSceneNode.h fixed it.
BTW: 0.2.5 doesn't compile either, I get quite a ton of "'lower_bound': is not a member of 'std'" errors. Probably due to a missing include somewhere?
edit:
adding
#include <algorithm>
in IDummyTransformationSceneNode.h fixed it.
Re: MSAA on Render Targets - BAW Irrlicht (GIT repo, v 0.2.5
The missing include was fixed in a later commit.
But thanks.
But thanks.
Re: Cubemap Textures - BAW Irrlicht (GIT repo, v 0.2.5)
Thanks. Let me see if I get this VS stuff working for your latest and greatest. Might fix those ~2k warnings as well. Actually warnings _should_ be handled as errors.
Being an Irrlicht oldie: What are the biggest obstacles using your branch when coming from the original irrlicht one?
Being an Irrlicht oldie: What are the biggest obstacles using your branch when coming from the original irrlicht one?
Re: Cubemap Textures - BAW Irrlicht (GIT repo, v 0.2.5)
Out of curiosity: Have you removed the TerrainSceneNode? Is there a replacement for that?
-
- Posts: 38
- Joined: Mon Jan 09, 2012 5:07 pm
Re: Cubemap Textures - BAW Irrlicht (GIT repo, v 0.2.5)
Hello,
First of all nice work @devsh, this fork looks very promising
I was able to fix the build in VS 2017, all i needed to do were two things:
1. The VS-project still has files listed in it which are not existing anymore, an example is the gui stuff which has been removed. So i removed all non-existing files which were showing up in the VS-project.
2. There are 4 errors in CIrrDeviceWin32, in the methods present and TextureToCursor, lock() and unlock() from IImage are called, although they don't exist anymore. I replaced the lock() calls with getData() and removed the unlock() calls.
with these changes, the engine builds in Visual Studio 2017.
@devsh: I am not sure if i have done the right thing in the second fix, if not please correct me.
First of all nice work @devsh, this fork looks very promising
I was able to fix the build in VS 2017, all i needed to do were two things:
1. The VS-project still has files listed in it which are not existing anymore, an example is the gui stuff which has been removed. So i removed all non-existing files which were showing up in the VS-project.
2. There are 4 errors in CIrrDeviceWin32, in the methods present and TextureToCursor, lock() and unlock() from IImage are called, although they don't exist anymore. I replaced the lock() calls with getData() and removed the unlock() calls.
with these changes, the engine builds in Visual Studio 2017.
@devsh: I am not sure if i have done the right thing in the second fix, if not please correct me.
Re: Cubemap Textures - BAW Irrlicht (GIT repo, v 0.2.5)
Sinsemilla, these fixes are 100% correct.. will commit our own VS2017 project soon.
Xaron, I've removed the TerrainSceNode as it used very out of date methods for rendering and updating the terrain mesh.
My suggestion would be to code your own by mixing transform feedback with tessellation shader and possibly sparse textures (use 2D array for LoD for terrain) to vastly extend the max heighfield size past 1024x1024.
We could even make a git repository of extensions for IrrBaW.
But I really don't want these sorts of things in the Engine core as there are 100s of ways to implement such a thing, and I don't consider any single one superior.
For me the biggest obstacle to using my branch is converting all your assets to .x and .obj + .jpg, .png and .dds, followed by rewriting all the materials with shaders.
Xaron, I've removed the TerrainSceNode as it used very out of date methods for rendering and updating the terrain mesh.
My suggestion would be to code your own by mixing transform feedback with tessellation shader and possibly sparse textures (use 2D array for LoD for terrain) to vastly extend the max heighfield size past 1024x1024.
We could even make a git repository of extensions for IrrBaW.
But I really don't want these sorts of things in the Engine core as there are 100s of ways to implement such a thing, and I don't consider any single one superior.
For me the biggest obstacle to using my branch is converting all your assets to .x and .obj + .jpg, .png and .dds, followed by rewriting all the materials with shaders.