Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 05 May 2012
Offline Last Active Today, 05:07 AM

#5249605 Octree Frustrum Culling

Posted by on 29 August 2015 - 01:36 PM




"Simply not worth the cost just to avoid drawing a few off-screen triangles" - THAT

I do not agree. You cant say that because you may be sending 100% of the model when you are actually seeing 5%. If the calculations per vertex are expensive or you are GPU bound (saying that cause my GPU is not the greatest and doing extra stuff seems to be unnecessary


It's not very good for overall conversation that you split quote like that.

Actual quote should be:



Subdividing meshes at run-time is overkill and simply not worth the cost just to avoid drawing a few off-screen triangles.

Which has totally different meaning.



But back to the point. There was great presentation at siggraph from Ubisoft. http://advances.realtimerendering.com/s2015/aaltonenhaar_siggraph2015_combined_final_footer_220dpi.pdf

They are doing super precise frustum and occlusion culling on gpu. Using just 64 triangle strips as primitives. But the conclusion was bit disappointing because they didn't get huge overall gains even after all that effort.

#5248777 sRGB on diffuse textures or gbuffer color texture?

Posted by on 25 August 2015 - 09:17 AM

In my experience, the 10/11 bit formats (float and unorm) don't have enough precision to pull off good HDR without introducing colour banding.

n.b. 8bit sRGB is equivalent to approx 10bit UNORM linear, so that leaves you approximately no headroom for dynamic range sad.png


If you don't have extreme dynamic range I have found that 11 bit is just enough with some careful dithering. At least it work for us in Hardland.

#5248545 Is ray tracing hard or is it just me?

Posted by on 24 August 2015 - 09:32 AM

Raytracing is dead simple. Efficient raytracing is not.

#5248294 Virtual Texture useful for this?

Posted by on 22 August 2015 - 04:10 PM

Load couple low level of mips for all landmarks always. Then just stream higher levels for nearest(in locality or time) N landspaces.

#5248277 Starting With My Dream

Posted by on 22 August 2015 - 02:20 PM

Libgdx would be good as 2d java crossplatform framework for you.

#5245430 Backface culling in geometry shader?

Posted by on 10 August 2015 - 05:54 AM

You need to take perspective projection account.


#5245256 Cascaded shadow mapping, shadow frustum generation

Posted by on 09 August 2015 - 11:06 AM

For our game Hardland I calculate smallest bounding box by just testing multiple different shadow camera rotations. This usually reduce triangle count a lot and increase effective resolution substantially.

#5231316 Get height at certain point in a triangle

Posted by on 27 May 2015 - 01:04 PM

Why complicate simple bilinear filtering from heightmap with triangles. Even tought triangles are rendering representation it does not have to mean that physics use same representation.


Simple way that works for me.


#5230074 Circle embedded in line-- fastest vector to unembed

Posted by on 20 May 2015 - 12:04 PM

Square root maps to hardware and its fast. There are tricks to calculate inverse of square root but those might ends up to be slower these days.



#5220767 Modern cartoon shading that's not cel shading

Posted by on 01 April 2015 - 12:25 PM

Just using physical based shading with exaggerated and interesting materials take you long way.

#5220012 How to implement skeletal animation in 2d game?

Posted by on 29 March 2015 - 01:23 PM

Quick google tour hinted that there should be runtimes for Allegro too.(unofficials)

NIH virus is dangerous and you should try to cure it.

#5219452 What are your opinions on DX12/Vulkan/Mantle?

Posted by on 26 March 2015 - 03:12 PM

We actually do not need more cores onto CPUs, we need bandwidth D:

But cores are cheap, bandwith is not.

#5218635 Efficient way to check which lights belong to which meshes?

Posted by on 23 March 2015 - 04:26 PM

Quicky algorithm that I would try.


1. Frustum cull visible lights.

2. Sort lights by radius. 

3. Frustum cull objects but add biggest radius of visible lights for every object.

4. For each visible light loop over object list from pass 3 and do range check. For each face frustum cull objects that are inside the range.

#5218632 Efficient way to check which lights belong to which meshes?

Posted by on 23 March 2015 - 04:19 PM


Twenty lights and a couple hundred objects? Brute force sphere-sphere testing should be nearly instant in this case. You're doing something wrong there.

I forgot to add, I am doing 6 frustum cullings per light since they are point lights that use shadow cube maps. This is only done for dynamic lights though.


But those 6frustum culling passes per light should be very fast bebecause they should only operate for subset of data. Assuming that you do range check before.

#5218304 *solved* Too slow for full resolution, want to improve this SSAO code

Posted by on 22 March 2015 - 01:40 PM

Now we just need some screenshots.