May Update and Current Development path

After pushing a few revisions to the trunk since I got to the UK, I really started working on my dissertation project. But one thing led to another and now, updating the SVN will be postponed for a few more days. Revision 149 also presented a small bug that causes performance to slow down to a crawl after a while. The fix is simple. Cut the double bind check as it was horrid and I was exhausted when I wrote it. I’ll add a better version later.

Change some things in FrameBufferObject.cpp (Hardware/Video/Buffers/FrameBufferObject)

[code lang=”cpp”]

void FrameBufferObject::Bind(U8 unit, U8 texture){

……

}

[/code]

to

[code lang=”cpp”]
void FrameBufferObject::Bind(U8 unit, U8 texture){
return;
}

[/code]

and

[code lang=”cpp”]
void FrameBufferObject::Unbind(U8 unit) {
……
_fixedPipeline = false;
}
[/code]

to

[code lang=”cpp”]
void FrameBufferObject::Unbind(U8 unit) {
_fixedPipeline = false;
}
[/code]

Another issue is with terrain rendering. To get 10x better performance, just change the “chunkSize” in TerrainLoader.cpp (Environment/Terrain) when building the Quadtree. 256 will give 40+FPS in Debug if the baseline was 4-5 (like my laptop).

[code lang=”cpp”]
U32 chunkSize = 256;//<Was 16. 128 is also ok. This will be edited in XML descriptors
_terrainQuadtree->setParentShaderProgram(…);
_terrainQuadtree->Build(….);
[/code]

Also, experimental code that would allow VAO’s to send less data to the GPU during depth rendering (shadows, ssao, dof, etc) is added but will probably be disabled in the next revision.

The dissertation part includes the complete integration of the ReCast library and PhysX for each scene. Both are complete, but data passing between SceneGraph <-> ReCast and SceneGraph <-> PhysX isn’t yet complete.

Another big point in the next update will be the proper usage of a ThreadPool and the change made to the Event class (now called Task) that allows better and safer multithreading.

TL;DR: Big updates, testing takes time.

Facebooktwitterredditpinterestlinkedinmail

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.