Skip to content

[REve] Update to RenderCore release from github, deploy it as builtin tarball. #41

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 84 commits into
base: root-master
Choose a base branch
from

Conversation

osschar
Copy link
Owner

@osschar osschar commented Dec 20, 2022

This PR serves as expanded version of PR to root-project#11936 where the commits have been squashed into a single commit.

- Move some RenderCore specific classes and all shaders into RenderCore source tree.

- Implement all existing Three.js functionality with RenderCore.

- In RenderCore, further improve on existing functionality:
  - Textured points - arbitrary size and shape.
  - Mesh lines - arbitrary thickness.
  - Object and sub-object picking through color buffer with fragment depth detection.
  - Camera handling like in TEve, with ability to pick rotation center.

C++ / Server Changes

- REveManager: Make RenderCore the default rendering engine.

- Stream interpreter errors and show them in client log

- Add flag fIsRCore to REveManager.

- Make REvePointSet secondary-selectable.

- Add parameter for projection depth in REveDataCollection

JS / Client Changes

- Remove error MessageBox popup during client updates.

- EveManager.js: Check change bits in ImportSceneBinary when scene changes are streamed.

- EveScene.js: Optimize visibility changes.

- EveScene.js: pass eve_element instead of object3d in cases
  where it simplifies the code.

- EveScene.js, GlViewer classes: Cleamup highlite/selection management so it
  can be abstracted for RCore.

- Separate viewer-side selection processing for Three / RCore.

Tutorials / Demos Changes

- event_demo.C: secondary select points, jet title include pT.

- Tune marker sizes, colors, visual parameters.

osschar and others added 30 commits December 12, 2022 14:53
- Use RC.ZSprite for REvePointSet rendering.

- REvePointSet - export point-data in RGBA32F texture for RC.

- REveRenderData - add static CalcTextureSize() to calculate
  texture width and height.

- Add flag IsRCore to REveManager.

- GlViewerRCore.js - always use RenderQueue rendering.
- Make REvePointSet secondary-selectable.

- EveScene.js: pass eve_element instead of object3d in some cases
  that simplify the code.

- RenderCore -- steps towards secondary selection
…tline.

* event_demo.C: sec-select points, jet title include pT.

* EveElementsRCore.js: implement control classes for selection.

* EveScene.js, GlViewer classes: Cleamup highlite/selection management so it
  can be abstracted for RCore.
In GlViewerRCore, to workaround around single outline pass,
merge indices from selection and highlight.
…; proto ZLine (multiple instanceData textures).
* RendeQuTor, GlViewerRCore
  - deep control of rendering passes, reuse intermediate 16F buffers.
  - outline selection and highlight properly.
  - pre-download picking, gbuffer, outline shaders.

* Cleanup console logs.
osschar and others added 27 commits December 12, 2022 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants