Coder Social home page Coder Social logo

lgl-tracer-renderer / lgl-tracer-renderer.github.io Goto Github PK

View Code? Open in Web Editor NEW
64.0 4.0 6.0 53.82 MB

LGLTracer is a ray tracing rendering engine for the Web. It provides Editor and Viewer solutions for high-quality rendering on the Web, and supports both WebGPU and WebGL.

Home Page: https://lgltracer.com

3d-editor editor raytracing webgl webgpu raytracer

lgl-tracer-renderer.github.io's People

Contributors

todaylg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

lgl-tracer-renderer.github.io's Issues

Some bugs since the last versions

Little feedback on the new version, I put my project aside for about 1 month, so I don't know since which update these bugs arrived.

I have a problem when importing an object, sometimes getIndex() returns null, so the following line crashes.
new Uint32Array(***.getIndex().array), ***.STATIC_DRAW);
and I have no rendered object. If I do a test, I have my objects.

Also, objects with refractions look much too black, dark compared to before (1.0.6 or 1.1.0, I don't remember)

Thank you

How to update materials without rebuilding

I can't update materials without having to use the renderer.buildScene(scene, camera) function
I tried renderer.needsUpdate=true, without success.
My goal is not to calculate the BVH unnecessarily...
thanks

Feature request

Feature requests for lglTracer

and future versions may be updated according to the number of demanders (but there will be no clear implementation deadline)

1.KHR_texture_transform extension support

#15
#18

2.Vertex colors support

#3

3.Mesh instancing support

#6

Scene background shown even if it is not set

If I load an environment map and set the scene environment like this:

scene.environment = loadedTexture,
scene.background = null;

and I build the scene afterwards it still shows the environment map as the background.
I just need the env map for the lighting and want to use a black background instead.

Am I missing any other setting here?

Vertex colors are not supported

Seems LGLTracer currently ignores vertex colors / renders them as white.
20220124_080330

The model actually contains vertex colors:
unknown-13

Would be great if this was supported to be able to render more models correctly that were loaded with gltf (which supports vertex colors)!

Disposing off the data (From RAM/GPU)

I am implementing a use case wherein I create a scene using WebGLRenderer and then switch to LGLTracerRenderer just to get the final render of the scene. Both are rendered on separate canvases on the browser.

In the application, I am able to constantly switch between the WebGLRenderer/LGLTracerRenderer and have a separate scene object that is used for each of them. The problem is that when I switch to LGLTracer and back to the WebGLRender the whole application slows down like crazy even when I don't render the LGLTracer's scene.

Could this be because of the load on the GPU, where the memory created for LGL is not cleaned up( Both on RAM/GPU)? In another word how do we clean up all the data that is created by LGL when I exit the mode ?

Any help regarding this would be invaluable.

Supported/unsupported light and environment types

Currently understanding which things work/don't work is pretty much guesswork, e.g.

  • seems AmbientLight is unsupported
  • seems LDR environment maps (non float) are unsupported

AmbientLight would be great as a fast alternative to a sky, where simply a color is emitted.
Same for LDR envs, I understand HDR is better and yields higher quality but sometimes there's only LDR for texture size.

Ability to restore original materials when switching back to WebGLRenderer

It's awesome that LGLTracer autoconverts to traceable materials!
Would be great if each of the new materials would hold a reference to what it was previously, and there was a method to restore original materials.

This would be useful in apps where pathtracing is optional and the user can switch back and forth between "fast" and "pretty".
(right now switching back breaks the WebGLRenderer because of the different materials)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.