I'm looking for an efficient way to display lots of spheres using directx 11. The spheres are defined by (x,y,z,r) where (x,y,z) are coordinates in space and r is the radius. I want to display only the spheres that can be seen, meaning that spheres that are not in the field of view and spheres that are too small to be seen wouldn't be drawn. However, if a group of spheres smaller than one pixel is at least as big as one pixel, then I want to display the most predominant color. Spheres have only one color and different levels of transparency. Any help would be appreciated and incomplete answers are acceptable.
Directx 11 spheres
1.3k Views Asked by AudioBubble At
1
There are 1 best solutions below
Related Questions in GEOMETRY
- WorldToScreen function
- Intersection of Cartesian Box and Polygon in 3D
- find point in inside polygon ..with mysql
- How do I find the line segments formed by the meeting of two sides of two polygons?
- How to create a pareto distribution prediction function?
- How to estimate the memory size of a binary voxelized geometry?
- Spacing out overlapping rectangles: how to translate pseudocode?
- Sympy manipulation of wedge products
- how to create a sector and check if some point is in it's area?
- Get third control point quadratic Bezier curve for parabola with given fucus and directrix, Lua
- CGSRegionRef: How is an arbitrary region represented as union of rects?
- Distribution of n number of equi-distant point in polygon
- Selecting suitable triangles to intersect with a line
- How to distribute n number of points into a svg polygon javascript
- How to offset a shaply polygon without chnaging corner shape
Related Questions in DIRECTX-11
- Why do we only create one render target view?
- Missing HLSL Debug Symbols with D3Dcompile in Visual Studio
- Cube Rotation Only Triggered by Mouse Movement or Key Press
- Unable to Display Cube in Direct3D Application
- Slow D3DX11CreateShaderResourceViewFromFile relatively CrystalDiskMark speed
- Attempt to convert pData provided by Direct3d11 to buffer, but error when resize window
- d3d11 triangle rendering failure despite everything being properly initialized
- Initialize DirectX 11 using 'SwapChainPanel' in C#, UWP, XAML
- Qt 5.15, ANGLE: use DirectComposition, i.e. Flip Model SwapChain
- Unresolved external symbol DXGetErrorStringA
- DirectX 3d 11 after using the Depth Stencil view in OMSetRenderTarget nothing is rendering at alllll
- Graphics.DrawString not drawing when picturebox handle is outputsource of directX11 device
- Possible way of implementing Constant buffer in direct x
- Why does CreateDevice() for ID3D11Device return error 0x80070057: "The parameter is incorrect"?
- Unable to see render when I use the .exe
Related Questions in CULLING
- Incorrect Frustum Culling behavior
- Create a tight frustum around a 3D model bounding volume
- How to do face culling in a voxel game using Java and LWJGL
- Culling lines behind a face in OpenGL
- Voxel Occlusion Culling
- How change Level of Detail Attribute of objects to boundingbox which are in frustum of moving camera?
- Update an object when an other object is within camera view
- Culling mask for GPU instanced mesh
- How to Cull Unity Shader Color Gradient Material in Scrollview?
- How would I hide an object from a specific camera in Godot 3D?
- How to implement correct cube frustum culling
- Back-face culling, does chosen vertex for view vector on triangle matter?
- Most efficient way to determine if a cube intersects a frustum
- Backface Culling Causing Transparency, Flipping doesn't FIX
- How to integrate indirect draw, instanced rendering and gpu occlusion culling in OpenGL
Related Questions in FRUSTUM
- Incorrect Frustum Culling behavior
- Create a tight frustum around a 3D model bounding volume
- Does the camera transform in Unity invert directions at the end?
- ThreeJS Object3D.frustumCulled
- frustum culling not filtering out bboxes correctly
- How far to move a point to get it out of the view frustum?
- Measure from model to frustrum edge to adjust camera
- Understand Frustum parameters in Pangolin visualizer library
- Maya C++ plugin needing to frame object with viewport from quarter camera perspective
- How change Level of Detail Attribute of objects to boundingbox which are in frustum of moving camera?
- "Screen position out of view frustum" errors followed by "Assertion failed on expression: 'std::abs(det) > FLT_MIN'" - Unity 3d
- How to implement correct cube frustum culling
- Flutter canvas. How to draw frustum or add a frustum to a basic graphic?
- Check if line segment or triangle intersects a frustum
- How to determine whether a line segment is partially contained in (intersects) a frustum in THREE.js?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You need several things. First an indexed unit sphere geometry, second a buffer to store the sphere instance properties ( position, radius and color ) and third a small buffer for the API parameters yet to come. The three combines in a single 'ID3D11DeviceContext::DrawIndexedInstancedIndirect'
The remaining question is "how to feed the instance buffer ?". cpu is easy, just apply frustum culling, sort back to front because of the transparency and apply a merge based on the screen projection, update the buffer and use 'ID3D11DeviceContext::DrawIndexedInstanced'.
gpu version will do the same thing with compute shaders but will be harder to implement. The advantage, zero cpu/gpu synchronization and should support far more instance.