samdauwe / BabylonCpp

A port of Babylon.js to C++
Apache License 2.0
284 stars 37 forks source link

Fix samples #59

Closed pthom closed 4 years ago

pthom commented 4 years ago

Hello Sam,

This PR fixes somes examples:

Fixed examples:

Other:

A remaining issue that could help diagnose other problems

I can get the program to fail easily by following these steps:

Could you investigate this one?

Cheers, Pascal

samdauwe commented 4 years ago

Hello Pascal,

Thanks for those fixes!

This PR fixes somes examples:

Fixed examples:

* fixe EdgesRendererScene / MergedMeshesScene

Nice work!

* LevelOfDetailScene : works, with low fps, but it is also slow in js

Yeah, we could have a look later at the performance difference issue compared to the js version for the LevelOfDetailScene example.

* MotionBlurPostProcess: now works (captured a pointer by copy instead of ref)

I will capture pointers by copy instead of ref from now on to avoid this type of error.

Other:

* ProceduralHexPlanetGenerationScene : no more seg faults, but the rendering is still bad.
  hexplanetgeneration is not in https://github.com/BabylonJS/Extensions. Shall this example be maintained?

The ProceduralHexPlanetGenerationScene example is just an experiment to procedurally generate a planet. An in depth explanation on the procedural planet generation is available on this blog post. I started from this repo and did some extensions based on the blog post. The expected output is similar to this JS example screenshot:

afbeelding

Probably there are more interesting examples we could focus on. We can drop this extension and example because it is not working anymore and it has been more than a year since I looked into the code. What do you think?

* IsPointInsideMeshScene : infinite loop -> see explanation in the commit message, it is probably a port issue: [f6f98e7](https://github.com/samdauwe/BabylonCpp/commit/f6f98e72cd4401d686093577a63eb0c833314623)

This functionality is actually not part of the core library, it took the code from the Babylon.js code snippets section from this page. The expected result is the following:

afbeelding

Random points are placed in a volume around a twelve pointed star mesh. Sphere are placed at each point and turn it red when inside the star.

My comment is similar to the previous example that is not working. We could remove this example and focus on other non-working examples. I could have a look into fixing the example if you still find it a useful example?

A remaining issue that could help diagnose other problems

I can get the program to fail easily by following these steps:

* Run BabylonStudio

* Switch to "Experimental" samples

* Launch "Loaders = GLTF Format / Simple Skin Scene"
  (Note: the 3D rendering is empty)

* Launch "Materials Library / FurMaterialScene"
  => There is a segfault

Could you investigate this one?

Sure, I planned to look into the rendering issues with the procedural texture library examples this weekend. I will also have a look at the segmentation fault issue.

Cheers, Pascal

Cheers and have a nice weekend! Sam

samdauwe commented 4 years ago

Hello Pascal,

I had a further look into the following 6 examples:

ShaderMaterialWarpSpeedScene

PointsCloudScene

Going to continue now with other examples.

Cheers and have a nice weekend! Sam

pthom commented 4 years ago

Hello Sam,

This is nice, and to see that Valgrind helped to find issues !

good job 🥇

Cheers