Lars Ivar Hatledal

Results 152 comments of Lars Ivar Hatledal

The following code will crash the program as `subs` go out of scope: Modified `GLRenderer.cpp` ```cpp if (programs.empty()) { // new material subs.emplace_back(material->OnDispose.subscribe( [this](Event& event) { this->deallocateMaterial(static_cast(event.target)); event.unsubscribe = true;...

This will trigger the issue. ```cpp threepp::Subscriptions subs; auto geometry = threepp::BoxGeometry::create(); auto material = threepp::MeshBasicMaterial::create(); auto mesh = threepp::Mesh::create(); subs.emplace_back(mesh->OnDispose.subscribe([](auto& evt){})); ```

I have figured out how to solve the real problem I have had. While destructing GLRenderer et.al, I need to hook into all references to materials and geometries and clear...

At least the internal listeners are now cleared as part of destruction. Any referenced texture, material, geometry and rendertarget are forced to dispose when the GLRenderer destructs. InstancedMesh, however is...

I am mostly in favor of merging this PR more or less as it is now. However, I do wonder how generic events ought to be handled? Any insights? On...

I'm not sure what would be the more effective procedure here, but you do have the possibility to read the underlying pixel data from the GPU from the `GLRenderer`. `void...

Feature has been merged into dev. The code is located within the examples folder and not shipped directly with the library. However, as it is header only, it can easily...

I could make a release now, but I'd prefer a pre-release. Is that a huge issue?

I think this PR can be simplified. If `fmupath` extension `.fmu`, unzip, if `is_directory` assume unzipped folder. No need to add the boolean flag.

I was thinking that the FMU was unzipped by the user prior. But that function may not be exposed through the public API. That could be a solution though. Expose...