AlexandruPopovici
|
a85f76f5ca
|
Added DebugViewer which the sandbox uses so it can access stuff normally not available in the API, for testing and developement
|
2022-08-25 12:20:05 +03:00 |
|
AlexandruPopovici
|
0e00cb67bf
|
Fixed conflicts
|
2022-08-23 15:57:22 +03:00 |
|
AlexandruPopovici
|
1a0fc5556b
|
Added dynamic line threshold calculation based on an emipirical model. Extened three's Raycaster class so we can have more controls on raycasting
|
2022-08-23 13:58:12 +03:00 |
|
Dimitrie Stefanescu
|
f49d86046a
|
feat(viewer): integration
|
2022-08-23 09:28:28 +03:00 |
|
AlexandruPopovici
|
fa86b92a16
|
All mesh filter materials respect wether the original material is transparent and keep it transparent
|
2022-08-19 22:44:19 +03:00 |
|
AlexandruPopovici
|
0dd8c58529
|
Added the possibility to set the default sun light properties at runtime via LightConfiguration. Added a working example into sandbox
|
2022-08-18 18:17:14 +03:00 |
|
AlexandruPopovici
|
a892643a4a
|
Merge branch 'dim/viewer-redux' into viewer-redux-integration
|
2022-08-17 14:43:39 +03:00 |
|
AlexandruPopovici
|
05e73d9c17
|
Fixed the issue with selected objects going invisible
|
2022-08-17 13:11:49 +03:00 |
|
AlexandruPopovici
|
52d37a3b83
|
Merged
|
2022-08-15 16:13:53 +03:00 |
|
AlexandruPopovici
|
f43f8d7174
|
#827 Fixed the issue with shadows and distant objects
|
2022-08-15 15:17:28 +03:00 |
|
AlexandruPopovici
|
28989a622c
|
#Integration: Added OVERLAY filter material type. Changed the SELECT filter material color to speckle blue. Fixed amn issue where some materal colors weren't linear
|
2022-08-12 17:07:47 +03:00 |
|
AlexandruPopovici
|
03defca1a8
|
827 Added RTE to points and point clouds. Fixed an issue with point coulds where if the object had a render material with a black diffuse color it would make all the point cloud black, regardless of the vertex colors.
|
2022-08-10 14:33:20 +03:00 |
|
AlexandruPopovici
|
0e9843aba8
|
#828 Implemented automatic draw range setting after autocompleting draw ranges. This will make sure that hidden objects will not have their shadows draw, as well as you cannot pick hidden objects. Additionally I also made hidden lines not pickable
|
2022-08-09 14:11:30 +03:00 |
|
AlexandruPopovici
|
81a7af38c7
|
#828 Got the IBO shuffling approach working. MeshBatch now has a new method which gets called instead of the old autocompleteDrawRanges. This method orders the draw groups, compresses them into as few as possible (1 per material), re-shuffles the index buffer, then finally updates the rvs batch data information with the new indices after re-shuffling. This way we cut down drastically on redundant draw calls when applying multiple materials on batches
|
2022-08-08 17:27:23 +03:00 |
|
AlexandruPopovici
|
70aef88db0
|
#827 Added HIDDEN filter type. It's nice because it's just another material with it's visible flag disabled, so it works the exact same way as any other filter type
|
2022-08-04 12:51:18 +03:00 |
|
AlexandruPopovici
|
af342b3e3e
|
#827. Finished with multiple streams loading/unloading in the same seesion. Things seem to work correctly, and also there's almost no memory leaking at all upon loading/unloading
|
2022-08-03 16:58:39 +03:00 |
|
AlexandruPopovici
|
c90fe75356
|
#827 Implemented most of multi-stream adding to the viewer. Mostly works, just needs some quality of life changes + making sure stuff doesn't leak too bad when removing
|
2022-08-02 18:47:59 +03:00 |
|
AlexandruPopovici
|
bdd51cfcf5
|
#827 Fixed an issue with raycaster not having a null check. Removed massive redundancy in applyin filters. Now filters apply 30-40 times faster. More improvement can be done, but this was a low hanging fruit
|
2022-08-02 13:12:16 +03:00 |
|
AlexandruPopovici
|
b9d22cc04c
|
#827 Fixed an issue with Brep speckle type not being parsed as Mesh geometry type
|
2022-08-01 15:16:54 +03:00 |
|
AlexandruPopovici
|
cb5dbce73f
|
#827 Fixed another issue related to point clouds and materials
|
2022-07-29 23:49:52 +03:00 |
|
AlexandruPopovici
|
cc8580b8da
|
#828 Eliminated the redundant position attributes for the line geometries. Like for meshes, re-used the original position attributes as the high parts of our encoding
|
2022-07-27 22:54:45 +03:00 |
|
AlexandruPopovici
|
3ca2d08e18
|
#828 Implemented the SpeckleMesh which extends three's Mesh and corrects the raycasting implementation to work with the positions encoded as pairs of lows and highs
|
2022-07-27 21:46:03 +03:00 |
|
AlexandruPopovici
|
9e7c80bb4f
|
#828. Added controlled update and render loops which propagate throught the viewer library
|
2022-07-27 15:09:46 +03:00 |
|
AlexandruPopovici
|
453e83e515
|
#827 Implemented the colored material (used when filtering by non-numeric properties) for lines as well.
|
2022-07-26 23:10:52 +03:00 |
|
AlexandruPopovici
|
e35c4ad35b
|
#828 Added proper vertex normal computation based off fp64 positions
|
2022-07-26 18:56:00 +03:00 |
|
AlexandruPopovici
|
e05af7eafe
|
#728 Removed all references to USE_RTE and THICK_LINES since we're always going to be using these implementaions
|
2022-07-26 11:01:38 +03:00 |
|
AlexandruPopovici
|
f706efc875
|
#828. Removed unused code from Geometry. Corrected the types for the position attribute underlying typed array. Removed duplicate code
|
2022-07-26 10:46:54 +03:00 |
|
AlexandruPopovici
|
30e985be4a
|
#827. Implemented non-numeric filter-by properties support. Added this functionality to the sandbox as well.
|
2022-07-22 15:35:34 +03:00 |
|
AlexandruPopovici
|
c238cdaa07
|
#827. Added min/max values when filtering by volume. Some changes to the filtering implementation to avoid redundant tree searches
|
2022-07-22 00:03:35 +03:00 |
|
AlexandruPopovici
|
fdc550a38a
|
#827 Implemented gradient based filtering using ramp texture and per vertex ramp texture index. Implemented filtering by volume in the sandbox, using the gradient filter
|
2022-07-20 23:59:11 +03:00 |
|
AlexandruPopovici
|
dbd3763a5a
|
#827 Added the possibility to visually display the scene's batches as well as to select any object by holding the ctrl key and it will isolate it's entire batch, not just the object. These will be useful for debbuging
|
2022-07-18 23:43:08 +03:00 |
|
AlexandruPopovici
|
fdd03ef821
|
#828[Debt] Added support for vertex colors on meshes that specify it
|
2022-07-18 17:00:01 +03:00 |
|
AlexandruPopovici
|
a4fa7bb4dd
|
#811 Implemented conveniene method for isolating objets visually, where all other objects are ghosted, like the effect should look like. Fixed an issue with Brep conversion
|
2022-06-28 11:41:45 +03:00 |
|
AlexandruPopovici
|
65d5aa6659
|
#811 Added a material for the gradient filter, so we have multiple filter materials to apply. However th gradient material is not fully implemented. It can only do a single solid color. We'll implement the actual gradient of colors in the future
|
2022-06-27 19:00:20 +03:00 |
|
AlexandruPopovici
|
51596d81b4
|
Fixed some remaining issues with the filtering API. Made transparent materials to not write to the depth buffer so we don't get false depth test fails. We will see in the future if we want to treat transparent objects differetly, however for now it's going to be fine
|
2022-06-27 18:51:52 +03:00 |
|
AlexandruPopovici
|
7840591672
|
#811 Separated batch aut filling draw ranges as a separate function. This will allow sequential calls to set different draw ranges with different materials sequentially for the filtering API
|
2022-06-24 16:44:31 +03:00 |
|
AlexandruPopovici
|
923e835c54
|
#811 Added the the unload functionality, so we can load/unload stuff in the sandbox. It's currently a bit leaky but we'll fix that. Also we currentyl don;t support multiple paralel streams to be loaded in. I first want to make sure things work properly for 1 stream before having multiple at the same time
|
2022-06-24 14:20:27 +03:00 |
|
AlexandruPopovici
|
d29d2d464c
|
#811 Started working on a debug API for filtering inside the viewer. This API will be used by the upcoming FilteringManager to do the visual work
|
2022-06-24 00:41:24 +03:00 |
|
AlexandruPopovici
|
499653d983
|
#811 Started taking the axe on a lot of legacy code which became obsolete after redux Stage 2. Turned ViewerObjectLoader to typescript and started moving a lot of stuff from viewer to a new class, SpeckleRenderer, which will centralize and handle a lot of stuff
|
2022-06-21 00:58:20 +03:00 |
|
AlexandruPopovici
|
11a429f9ca
|
#783 Implemented Point and PointCloud speckle type support for batching and everything else.
|
2022-06-20 16:39:51 +03:00 |
|
AlexandruPopovici
|
d4c0495860
|
#783. Fixed a misplaced 'if' inside the mesh batch draw material ranges function. Added HideAll draw range constant. We're using this when we want to hide an entire batch so that three.js does not do all the buffer binding, material and state switching for batches that have a draw range of 0-0. Apparently three.js doesn't skip all the GL commands automatically for meshes with 0 draw range
|
2022-06-18 00:38:41 +03:00 |
|
AlexandruPopovici
|
dad9acb3e9
|
#783 Implemented visibility ranges for line batches
|
2022-06-18 00:07:56 +03:00 |
|
AlexandruPopovici
|
60536592a4
|
#783 Implemented visible range for batches. Required when wanting to isolate/hide/don't show stuff. Only implemented it for the mesh batch type for now. Line batch is next
|
2022-06-17 19:07:10 +03:00 |
|
AlexandruPopovici
|
c7a2390bf3
|
#783 Implemented multi selection via multiple draw range with automatic fill of groups. Implemented selection of multiple objects when clicking something in the world, if that object is part of a whole and it needs to be selected together with others. It's not perfect yet, I;ve seen some bad selections, but will fix that soon
|
2022-06-17 17:28:39 +03:00 |
|
AlexandruPopovici
|
d508eb6d5b
|
#783. Implemented separate materal draw ranges for the line batches. Added the Batch common interface and separate the MeshBatch from the LineBatch, both implementing the Batch interface. Selection now works properly for both meshes and lines
|
2022-06-16 19:40:32 +03:00 |
|