SFraissTU / BA_PointCloud

PointCloud-BachelorThesis
BSD 2-Clause "Simplified" License
184 stars 37 forks source link

Issues with my PC #2

Open pechaut73 opened 6 years ago

pechaut73 commented 6 years ago

Hi,

I have PC representing a building, and I get this in potree: https://imageshack.com/a/img924/5127/EoIZqA.jpg

if I use the same source binary with ba_pointcloud, I get something like this: https://imageshack.com/a/img923/6968/E9uItY.jpg Some points outside of the building, that go away rapidly as I move in 3D and if I look a bit more up, I have more points: https://imageshack.com/a/img922/8125/danrSy.jpg

I have used the demoscene exemple in order to make sure I made nothing wrong, and I checked : it is the exact same source as the one I use in potree.

Any idea what could go wrong here ? Thx

lfscetvr commented 6 years ago

maybe potree converter interpreted your point cloud columns in the wrong order? this happens to my sometimes when i use a text based input format, in these cases a solution that works for me is using cloud compare to read the cloud and reorder the columns using cc's importer and export this point cloud to las or e57 and use that with potree converter

pechaut73 commented 6 years ago

Well, it works fine when using the potree viewer, it's only with BA_PointCloud that it does not render properly : it appears as when you show an object without frustum culling, and the object is distorted on screen

I'll try to load it in cloud Compare and see what it gives, thx

SFraissTU commented 5 years ago

Hi! Sorry I'm only answering now. I'm currently refactoring the project and I have a suspicion where this error is coming from. If it is okay for you, you could send me the data set and the camera position where you observed the problem, so I can look into it.

iryu89 commented 5 years ago

I also have have this kind of problem before. the point cloud turn to black. it is because of the point cloud from your data do not contain rgb value and potree cannot read the intensity of the point cloud. It only success to render the intensity in web potree but not in unity.

SFraissTU commented 5 years ago

Yes, right now only color values are considered. If you want to get color from stored intensity values you will have to adapt the function Loading::CloudLoader::LoadPoints. If you look into the cloud.js of your point cloud, you will likely have a new attribute inside the "pointAttributes"-array besides POSITION_CARTESIAN and COLOR_PACKED, which are the only ones I'm considering right now. In LoadPoints you can add another if-statement considering this third attribute and inferring the color from it.

akharroubi commented 5 years ago

Hi !

I put a few steps to take into consideration more attribtus, here is the link, https://github.com/SFraissTU/BA_PointCloud/issues/9#issuecomment-514148664, I have not put the code with. As explained by simon you can infer the color directly from the LoadPoints () by assigning the color from an if-statement to the node.SetPoints(vertices, color); otherwise if you want to change the color i runtime (RGB, intensity, classification) as I did at the top you have to add them as following node.SetPoints (vertices, RGB, intensity, classification);