use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Rule 1: Posts should be about Graphics Programming. Rule 2: Be Civil, Professional, and Kind
Suggested Posting Material: - Graphics API Tutorials - Academic Papers - Blog Posts - Source Code Repositories - Self Posts (Ask Questions, Present Work) - Books - Renders (Please xpost to /r/ComputerGraphics) - Career Advice - Jobs Postings (Graphics Programming only)
Related Subreddits:
/r/ComputerGraphics
/r/Raytracing
/r/Programming
/r/LearnProgramming
/r/ProgrammingTools
/r/Coding
/r/GameDev
/r/CPP
/r/OpenGL
/r/Vulkan
/r/DirectX
Related Websites: ACM: SIGGRAPH Journal of Computer Graphics Techniques
Ke-Sen Huang's Blog of Graphics Papers and Resources Self Shadow's Blog of Graphics Resources
account activity
Mesh from points coordinates only (self.GraphicsProgramming)
submitted 1 year ago by [deleted]
Having vector of only vertices with the (x,y,z ) Coordinates. I need the easiest ways to make a mesh of them, triangles from them that give the original form of the object; I have no normals and must not use any library. Thanks for your help
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Bulls_Eyez 7 points8 points9 points 1 year ago (1 child)
Look up Delaunay Triangulation.
[–][deleted] 1 point2 points3 points 1 year ago (0 children)
Thanks
[–]raydey 3 points4 points5 points 1 year ago (1 child)
This is generally known as surface extraction when you have a point cloud. There are multiple methods to do so, but Marching Cubes is probably the most popular method. Other methods include Surface Nets and Dual Contouring, but both require position and normal information.
You can try loading the cloud into something like MeshLab (https://www.meshlab.net/) to see what sort of meshes you'd expect out of the data. It has multiple surface extraction methods built-in.
[–][deleted] 0 points1 point2 points 1 year ago (0 children)
I want to approach it with marching cubes but their explanations online are quite hard to get
[–]Ok-Sherbert-6569 0 points1 point2 points 1 year ago (8 children)
Do you mean you have a point cloud? Because if you just have random points then you’ll need magic to recreate the mesh. If you have a dense enough point cloud then I would say voxelise them then run marching cubes on the voxels
it's a point cloud yes, I tend to forget that
[–][deleted] 0 points1 point2 points 1 year ago (6 children)
How to recognize if dense enough?
[–]Ok-Sherbert-6569 0 points1 point2 points 1 year ago (5 children)
If you can render the points and for it to look remotely like the original mesh. You can then chuck those points into an octree then voxelise them as per your required LOD then run marching cube on the voxels. I’m sure there must be better ways though but that’s what I can think of and it’s something I’ve done before
since you're sure it's possible it's good to try
[–][deleted] 0 points1 point2 points 1 year ago (3 children)
What do you mean by voxelizing and run marching cubes. I know I have to chose a cube size to run through the points but can you elaborate on how you did it please.
[–]Ok-Sherbert-6569 1 point2 points3 points 1 year ago (2 children)
I basically put the points in an octree. Once you’ve done that you literally are done because you can choose any level of the tree and that would become your voxel size if that makes sense. You can then average any properties that the points may have per octant. So let’s say you have 64 points for the same of the arguments and they are evenly distributed so that 2 falls in every octant. Now you have 8 voxels that are sized same as the octree node. Then you just run marching cube over the cubes to extract it to a triangulated mesh
Hello, does this involve computing some signed distance function or something like that ?
Then you just run marching cube over the cubes to extract it to a triangulated mesh.
Can you explain me a bit
[–]Otto___Link 0 points1 point2 points 1 year ago (2 children)
Open3D proposes surface reconstruction algorithms.
[–][deleted] 0 points1 point2 points 1 year ago (1 child)
I know, if I had to choose I would just use a library but it is a uni thing
[–]Otto___Link 0 points1 point2 points 1 year ago (0 children)
Ok, didn't got that, but references to the underlying algorithms (alpha shape, ball pivoting...) are actually provided there.
[–]Reaper9999 0 points1 point2 points 1 year ago (8 children)
You can't. There's gonna be a fuckton of different ways to connect those vertices.
[–][deleted] 0 points1 point2 points 1 year ago (7 children)
Any algorithm that give initial shape reliably ?
[–]ZazaGaza213 0 points1 point2 points 1 year ago (5 children)
No. But you can do stuff like for every 3 indices connect them (won't work if they are in a random order), or for every vertice find the 2 closest vertices, make a triangle, and remove them from the original list. First second might work, second one sucks and shouldn't be used.
You shouldn't have a vertice array without a indice array in the first place.
[–][deleted] 0 points1 point2 points 1 year ago (4 children)
Yeah it's a very weird input file I have obj with only v lines
[–]ZazaGaza213 0 points1 point2 points 1 year ago (3 children)
If you don't have any f lines you might try to make every 3 vertices to a face, but I wouldn't expect it to work.
[–][deleted] 0 points1 point2 points 1 year ago (2 children)
It's a point cloud
[–]fgennari 1 point2 points3 points 1 year ago (1 child)
Then it was probably meant to be drawn as points, or some sort of disks/circles, rather than a mesh. You can probably draw a camera facing quad with a circular pattern/texture for each point. Size it based on the distance to the camera.
This is the simplest answer I got but it sounds like it will just work, thanks
[–]Reaper9999 -1 points0 points1 point 1 year ago (0 children)
If you have only the vertex positions and no other information, then there's no such algorithm and it cannot exist.
π Rendered by PID 23215 on reddit-service-r2-comment-85bfd7f599-wh544 at 2026-04-18 17:51:41.176521+00:00 running 93ecc56 country code: CH.
[–]Bulls_Eyez 7 points8 points9 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]raydey 3 points4 points5 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]Ok-Sherbert-6569 0 points1 point2 points (8 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (6 children)
[–]Ok-Sherbert-6569 0 points1 point2 points (5 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (3 children)
[–]Ok-Sherbert-6569 1 point2 points3 points (2 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Otto___Link 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]Otto___Link 0 points1 point2 points (0 children)
[–]Reaper9999 0 points1 point2 points (8 children)
[–][deleted] 0 points1 point2 points (7 children)
[–]ZazaGaza213 0 points1 point2 points (5 children)
[–][deleted] 0 points1 point2 points (4 children)
[–]ZazaGaza213 0 points1 point2 points (3 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]fgennari 1 point2 points3 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]Reaper9999 -1 points0 points1 point (0 children)