Comments (4)
I believe this still works if you do the culling in view-space - the projection "matrix" here is literally that, not a view-projection one, so if you transform the sphere to view space before running the same culling code it should work.
(of course it doesn't work for asymmetrical projection matrices that you can encounter in VR)
from niagara.
Guess you're right. But I'm not sure there's much benefit doing it this way vs getting the 4 planes.
Anyways I though I should open this issue in case someone else encounters this issue. ( Maybe it's time for niagara to get it's own Discord server ? :) )
Thanks for the replay !
from niagara.
Maybe it's time for niagara to get it's own Discord server ? :) )
Thankfully GitHub now has Discussions :) But yeah the frustum culling implementation was chosen for simplicity given the lack of a view transform and to show how the math works out. I don't know if it's worth doing this way in a more complex case or not, although it's worth noting that a view transform is affine, so to transform a bounding sphere it's sufficient to transform the center - as such maybe it's still a good idea.
from niagara.
I know about the discussions, even opened a couple, but still, Discord is more "alive" ":-)
Here's an example of the "compacted" frustum culling:
https://github.com/vblanco20-1/vulkan-guide/blob/engine/shaders/indirect_cull.comp#L116
from niagara.
Related Issues (20)
- VkPhysicalDeviceVulkan12Features shaderFloat16 not supported on Nvidia Maxwell
- Simple Flycam HOT 2
- Could you support CMake to build? HOT 1
- Fauly occlusion with camera HOT 2
- AMD RX 560: cannot create VkDevice due Failed in ICD HOT 2
- Doesn't run on AMD GPUs on Win because drivers missing VK_KHR_push_descriptor.. HOT 2
- LOD detail HOT 2
- Assertion Failed HOT 2
- Possible negation error in frustum culling code. HOT 1
- Call `SetMeshOutputsEXT` before writing to `gl_MeshVerticesEXT`/`gl_PrimitiveTriangleIndicesEXT` HOT 1
- Custom Build tool Cmd line needs some quotes HOT 1
- Mesh shader discussion HOT 15
- SEGFAULT on an AMD 6900XT when enabling `VK_EXT_mesh_shader` HOT 3
- Correctly handle maxTaskWorkGroupCount restriction
- Device extension VK_EXT_mesh_shader not supported by selected physical device or enabled layers. HOT 1
- Kitten starts to flicker when turn off frustum culling and lod together HOT 5
- Incorrect frustum symmetry culling in bottom right quadrant HOT 2
- Just want to say a big thanks
- The project doesn't compile on Vulkan SDK 1.2.135.0
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from niagara.