ZappoMan
8ceee2ec1e
more cleanup of faster voxel pipeline
2013-10-01 11:51:25 -07:00
ZappoMan
793a14e25a
first cut at new faster voxel pipeline
2013-10-01 10:37:14 -07:00
ZappoMan
0f74d4bda9
change nodeDeleted() to voxelDeleted() to improve readability
2013-09-30 15:50:31 -07:00
ZappoMan
865bb7555f
fix hang on preference dialog box
2013-09-30 15:27:02 -07:00
ZappoMan
b6fe8befdc
removed old normal support from voxel system only using global normals
2013-09-30 09:29:04 -07:00
ZappoMan
8cffa8d872
add support for global normals for voxels
2013-09-27 15:04:44 -07:00
ZappoMan
605c2f30cf
add memory usage debugging
2013-09-27 10:17:10 -07:00
ZappoMan
eb6af1afbf
fix byte normals, fix crashes in switching between voxel shader and normal mode
2013-09-27 09:02:51 -07:00
ZappoMan
2487a55be9
add support for use of Byte normals
2013-09-26 19:04:19 -07:00
ZappoMan
5695429a78
style fixes
2013-09-26 16:36:59 -07:00
ZappoMan
7845340279
menu cleanup, support for on the fly switching of maxVoxels and useVoxelShader
2013-09-26 16:26:49 -07:00
ZappoMan
552d9fadd8
rearranged menus, some hacking on voxel shader
2013-09-26 14:51:57 -07:00
atlante45
4e3484021e
PerlinFace implementation
2013-09-10 15:31:58 -07:00
atlante45
b8c18bee2d
merge
2013-09-04 15:31:12 -07:00
atlante45
5da525fc3e
memory wastes and code cleaning PR comments
2013-09-04 15:12:24 -07:00
atlante45
06119990e8
Fixed ui related files memory wastes
2013-09-03 14:47:50 -07:00
atlante45
688bc17954
Fixed avatar related files memory wastes
2013-09-03 13:37:25 -07:00
atlante45
1dc8d8dd0c
Added LOD to preview + Shared voxelSystem for reduced memory consumption
2013-08-29 17:59:36 -07:00
atlante45
99321b3e09
Fixed VBOs not being deleted in VoxelSystem destructor
2013-08-22 15:43:58 -07:00
atlante45
bda6e03117
Changed name of copySubTreeIntoNewTree destinationTree argument
2013-08-21 12:11:34 -07:00
atlante45
27b0338294
Fixed clipboard not being previewed
2013-08-21 10:31:56 -07:00
atlante45
3eb5ace715
merge + few efficiency ameliorations to importDialog
2013-08-20 18:04:25 -07:00
atlante45
22a2603eaa
Several VoxelSystems can have different view frustum
2013-08-20 15:28:08 -07:00
atlante45
24531fdd10
Dialogbox for import fully functionnal
2013-08-19 15:54:51 -07:00
atlante45
6b58e1bfec
merge
2013-08-16 20:24:18 -07:00
atlante45
68a1c56ad6
More work on import interface
2013-08-15 17:21:23 -07:00
Stephen Birarda
e77aae157b
fix in view and occluded false colorization
2013-08-15 15:15:19 -07:00
Stephen Birarda
c7be2e13cd
repair false coloring by distance
2013-08-15 15:12:05 -07:00
Stephen Birarda
f72f9d8735
fix hook to render pipeline warnings and kill local voxels
2013-08-15 14:57:40 -07:00
Andrzej Kapolka
a3cee5d052
More efficiency for glow effect.
2013-08-09 16:16:02 -07:00
ZappoMan
2c96296936
fixed LOD disappear on backing up
2013-08-08 16:08:06 -07:00
ZappoMan
6d4ebda1ff
fix delete local voxels in case of last voxel server going away
2013-08-08 14:30:46 -07:00
ZappoMan
48e35ec6cb
fix delete local voxels in case of last voxel server going away
2013-08-08 14:29:58 -07:00
Andrzej Kapolka
63aeb4df75
Merge branch 'master' of https://github.com/worklist/hifi
...
Conflicts:
interface/src/Application.cpp
2013-08-06 16:28:14 -07:00
Andrzej Kapolka
720ae561df
Working on support for a textured face mode that doesn't rely on the video
...
stream.
2013-08-06 13:27:54 -07:00
ZappoMan
73510ec975
added notifications with jurisdiction details for when voxel servers come and go
2013-08-06 10:33:09 -07:00
ZappoMan
7a3d254aca
small tweak
2013-08-05 15:02:24 -07:00
ZappoMan
14b7f58fef
Kills local voxels if voxel server is removed from NodeList
...
- added notification hooks to NodeList
- implemented hooks in VoxelSystem to kill local voxels when
voxel server is killed
2013-08-05 13:47:18 -07:00
ZappoMan
92f6fe6bd8
CR feedback
2013-08-05 11:14:30 -07:00
ZappoMan
bdabe709af
added more color groups for false colorization from source
2013-08-05 11:11:10 -07:00
ZappoMan
edfd5cd543
fixed disappearing voxel bug
2013-08-05 09:45:00 -07:00
ZappoMan
93a8e1782d
cleanup
2013-07-30 12:13:45 -07:00
ZappoMan
c7e3fe5ef6
Added false colorization by voxel server source
...
- switched readBitstreamToTree() to take params struct for future expansion
- switched readNodeData() to take params for future expansion
- added sourceID to VoxelNode
- fixed false colorize routines to correctly redraw by marking tree as dirty
2013-07-30 11:08:48 -07:00
ZappoMan
1a73485e36
Improved VoxelNode delete callback based on CR feedback
...
- changed hooks to use a virtual base class approach
- switched account of hooks to use a vector instead of home grown solution
- added support for VoxelNode to know what VoxelSystem it belongs to
2013-07-29 15:30:30 -07:00
ZappoMan
03a75ab295
fixed spacing
2013-07-29 13:08:05 -07:00
ZappoMan
97aaa738c3
fixed typo
2013-07-29 13:07:12 -07:00
ZappoMan
d6428a8145
removed unneeded cast
2013-07-29 13:03:42 -07:00
ZappoMan
4cca7e2572
Fixed issue with freeing up abandoned VBO slots when not moving with animation
2013-07-26 11:44:19 -07:00
ZappoMan
0c95dc4adf
Fixed voxel trails from animations
...
- removed stageForDeletion behavior of VoxelNode
- replaced with VoxelNodeDeletionHook strategy
- VoxelSystem now cleans up previously used VBO index slots via hook
2013-07-26 11:12:48 -07:00
Stephen Birarda
1b48d4f0fc
revert removal of extraneous newlines
2013-07-16 12:46:32 -07:00
Stephen Birarda
89d3cfdb6f
remove now extraneous newlines after switch to QDebug
2013-07-16 11:16:51 -07:00
Stephen Birarda
afe49bc756
switch calls to printLog to QDebug
2013-07-16 11:07:22 -07:00
ZappoMan
f415f4081a
Fixed a bug in LOD boundaries
...
- changed the way we calculate whether or not to render a parent "average" voxel so
that if any of it's most distant child would not be visible, then it's used instead
of it's children
- added precalculated value for topFarLeft corner of AABox (optimization)
- changed VoxelSystem::newTreeToArrays() and VoxelTree::encodeTreeBitstreamRecursion()
to use the same help function for determining this LOD boundary behavior
- deleted old dead code in voxel-server and VoxelTree for picking which node to start
sending with, since it wasn't being used
- added VoxelNode::furthestDistanceToCamera() which tells you not the distance to the
center of the voxel, but the distance from the camera to the furthest corner relative
to the camera.
- added ViewFrustum::getFurthestPointFromCamera() which given an axis-aligned box will
tell you which vertex of the box is furthest from the camera
2013-07-15 01:32:14 -07:00
ZappoMan
c26e39764a
Merge branch 'master' of https://github.com/worklist/hifi into occlusion_culling
2013-07-11 13:50:33 -07:00
Stephen Birarda
38a33e0283
couple more type squishes
2013-07-11 11:11:39 -07:00
Stephen Birarda
fcb8865d2e
resolve conflicts on merge with upstream master
2013-07-11 10:58:45 -07:00
ZappoMan
04cd340f0b
add back in correct isViewChanging()
2013-07-11 10:50:17 -07:00
Stephen Birarda
beb89e3d2b
change some timing types from int to uint64_t to avoid costly assumptions
2013-07-11 10:09:00 -07:00
Stephen Birarda
4ed231670f
put back the missing voxels
2013-07-11 10:04:27 -07:00
Stephen Birarda
211204e878
Merge remote-tracking branch 'upstream/master' into timestamps
2013-07-11 09:23:16 -07:00
ZappoMan
1831cc0de3
removed level param from recursion
2013-07-10 17:06:22 -07:00
Stephen Birarda
ca8f25955a
switch usec timestamps to uint64_t
2013-07-10 11:46:48 -07:00
ZappoMan
44357fcfb9
add 'level' param to tree recursion
2013-07-09 13:17:21 -07:00
Stephen Birarda
c64a961a38
packet version handling in VoxelSystem parseData
2013-07-08 14:01:10 -07:00
Stephen Birarda
5062ae8965
rename PACKET_HEADER to PACKET_TYPE, fix DS packet versioning
2013-07-08 11:37:39 -07:00
ZappoMan
c0d14d2bd4
Merge branch 'master' of https://github.com/worklist/hifi into occlusion_culling
2013-07-03 15:36:41 -07:00
ZappoMan
2d6e522c35
debug stats
2013-07-03 10:59:36 -07:00
Stephen Birarda
36c6912de8
your agents are now nodes
2013-07-03 10:35:09 -07:00
ZappoMan
1e19748a1a
Merge branch 'master' of https://github.com/worklist/hifi into occlusion_culling
2013-07-02 15:52:49 -07:00
tosh
f062319c2b
introduces named constants for bandwidth meter channel indices / max. drag length
2013-07-02 03:53:49 +02:00
ZappoMan
c7e691a010
cleaned up CoverageMapV2 recursion code, fixes crazy false occlusion
2013-06-29 00:15:57 -07:00
ZappoMan
73ad854235
latest version of quadtree coverage map
2013-06-28 22:05:32 -07:00
tosh
290c20bfc7
introduces bandwidth meter / dialog
2013-06-22 04:22:10 +02:00
ZappoMan
4590bdc69d
added support for clipping polygons to screen bounds, not yet enabled since it doesn't help performance, will use in future
2013-06-21 16:42:55 -07:00
ZappoMan
cadd596508
implement partitioned CoverageRegions in CoverageMap to further optimize polygon compares
2013-06-19 17:52:01 -07:00
ZappoMan
1284f9d09a
naming cleanup and some optimizations
2013-06-19 13:45:13 -07:00
ZappoMan
1fc3ad8011
CR feedback
2013-06-18 12:03:58 -07:00
ZappoMan
8b18ee6844
renamed VoxelProjectedShadow class
2013-06-18 12:01:01 -07:00
ZappoMan
620a4a8ad6
latest occlusion culling with support for checking map without adding to coverage map for checking parent nodes
2013-06-13 16:37:14 -07:00
ZappoMan
8320925add
Merge branch 'master' of https://github.com/worklist/hifi into occlusion_culling
2013-06-13 13:30:18 -07:00
Andrzej Kapolka
db729a04aa
Converted double timestamps to long long (64 bit integers), fixed bug with
...
updating agent timestamps.
2013-06-13 11:11:59 -07:00
ZappoMan
b8e51943ab
make sure position is in voxel units NOT TREE_SCALE
2013-06-12 21:45:45 -07:00
ZappoMan
627f61badb
some debug changes for testing occlusion culling
2013-06-12 12:36:28 -07:00
ZappoMan
e2d22a8e21
latest cut at occlusion culling
2013-06-12 01:16:46 -07:00
ZappoMan
ac7fbc6320
added occlusion tests to debug menu
2013-06-11 13:29:01 -07:00
Andrzej Kapolka
27717bfcd4
Removed unused variables.
2013-06-06 10:48:35 -07:00
Andrzej Kapolka
d09700adde
Merge branch 'master' of https://github.com/worklist/hifi into voxeltars
...
Conflicts:
interface/src/Avatar.cpp
interface/src/Avatar.h
interface/src/Skeleton.h
interface/src/VoxelSystem.h
2013-06-04 11:00:59 -07:00
ZappoMan
4f3872c18f
CR feedback
2013-06-04 01:13:58 -07:00
Andrzej Kapolka
8d757e148f
More work on voxeltars; basic skinning works.
2013-06-02 19:55:51 -07:00
Andrzej Kapolka
6c975f9c6f
More work on avatar voxels.
2013-06-01 15:06:29 -07:00
Andrzej Kapolka
7425b39237
Working on avatar voxel system.
2013-05-31 17:55:30 -07:00
Andrzej Kapolka
e4bc7af6b4
Working on avatar voxels.
2013-05-31 14:52:29 -07:00
ZappoMan
b0397e8eb9
Merge branch 'master' of https://github.com/worklist/hifi into copy_and_paste_voxels
2013-05-30 21:41:55 -07:00
ZappoMan
46c6f2f9b5
latest copy paste
2013-05-29 15:02:28 -07:00
ZappoMan
c70ade0cc1
temporary hack fix to not discarding voxels
2013-05-29 12:14:45 -07:00
ZappoMan
d1d2e75143
first cut at export and import of voxels
2013-05-28 19:00:02 -07:00
ZappoMan
1a2921e3e8
Merge branch 'master' of https://github.com/worklist/hifi into voxel_animation
2013-05-25 15:32:12 -07:00
ZappoMan
60f2b9a438
removed debug
2013-05-25 15:31:28 -07:00
ZappoMan
f6863081f9
Fix Delta Sending mode by not culling out of view voxels until we STOP moving
...
- added isViewChanging() which determines if the view is currently changing
- made hasViewChanged() report false UNTIL we've stopped moving
- changed setupNewVoxelsForDrawing() to only call removeOutOfView() if we're not moving
2013-05-25 15:29:23 -07:00
Stephen Birarda
36892da488
keep a pointer to owning agent in AgentData
2013-05-24 12:17:34 -07:00
ZappoMan
8560e42357
fix issue with duplicate VBO slots
2013-05-24 12:08:25 -07:00
ZappoMan
06f2528d6a
fix crashing on deleting voxels in server and client
2013-05-22 13:23:01 -07:00
Andrzej Kapolka
c7e840e0d4
The end parameter to glDrawRangeElements is inclusive.
2013-05-21 22:36:27 -07:00
ZappoMan
0bcd629c8a
Merge branch 'master' of https://github.com/worklist/hifi into voxel_animation
2013-05-21 13:46:04 -07:00
Andrzej Kapolka
597769a861
Added basic capsule/sphere collisions between avatar and voxels.
2013-05-21 12:58:02 -07:00
ZappoMan
7c9be4b9f5
cleanup code
2013-05-21 11:42:13 -07:00
ZappoMan
a7f0a66aee
code cleanup
2013-05-21 11:31:47 -07:00
ZappoMan
4f9c7fed59
removed UI for want exists bits, defaults to true
2013-05-21 11:25:50 -07:00
ZappoMan
ef2d27aba6
getting closer to working delete
2013-05-21 10:43:31 -07:00
Andrzej Kapolka
1be859ede9
Use glDrawRangeElements, which indicates the range of used indices. It may or
...
may not make a difference in performance, but it won't hurt.
2013-05-20 17:14:41 -07:00
ZappoMan
e1c89aac87
Merge branch 'master' of https://github.com/worklist/hifi into voxel_animation
2013-05-20 15:52:04 -07:00
ZappoMan
a53f84fcb9
latest hacking
2013-05-20 15:51:47 -07:00
Andrzej Kapolka
06c78c2f12
Tweak: let the reader know when it needs to load the full VBO.
2013-05-20 15:41:19 -07:00
Andrzej Kapolka
8d522cd3ed
I believe the problem with voxel rendering is caused by the update thread's
...
writing the data while the render thread is attempting to read it. This
should fix the issue.
2013-05-20 15:15:44 -07:00
ZappoMan
321d1952d6
first cut at exists bits
2013-05-20 12:56:59 -07:00
Andrzej Kapolka
3f0fd2f976
Added toggle for voxel textures; they may be slowing some machines down.
2013-05-20 12:13:23 -07:00
Andrzej Kapolka
0f2f4ee8f9
Add the discussed four lines to disable blending and enable backface culling.
2013-05-20 11:32:32 -07:00
Stephen Birarda
fc0448a148
disallow copying of VoxelSystem objects
2013-05-17 12:32:42 -07:00
Andrzej Kapolka
86ddcea87f
Better names for the shaders.
2013-05-16 13:08:21 -07:00
Andrzej Kapolka
0a6b4702c6
Experimenting with simple Perlin noise shader for voxels.
2013-05-15 22:18:56 -07:00
ZappoMan
8dc61d89fc
Added support for "destructive" vs "non-destructive" voxel create
...
- changed VoxelTree to support destructive and non-destructive mode
- added protocol packet headers to differentiate
- added new UI to switch modes
- default mode now, non-destructive.
2013-05-14 14:19:31 -07:00
ZappoMan
b196227385
Added wantResIn and wantColor feature between client and server
...
- Updated Voxel Server to support non-res-in version of voxel distribution
- Updated agent data to allow client to send desired res-in and color state
- added menu items to client debug menu to toggle wantResIn and wantColor
2013-05-13 15:02:46 -07:00
Andrzej Kapolka
7a653741de
Don't set the renderFullVBOs flag; that's not the problem.
2013-05-13 12:30:56 -07:00
Andrzej Kapolka
eb77f5ff83
Removed debug code, more tests for staged-for-deletion.
2013-05-12 20:36:10 -07:00
Andrzej Kapolka
be88fec7d3
Fixed the major bug, which is that non-leaves were being collapsed. Update
...
full VBO on deletion, since otherwise we don't see the update.
2013-05-12 20:08:01 -07:00
Andrzej Kapolka
9802403749
Let's do some locking to prevent simultaneous access from different threads.
2013-05-11 15:38:49 -07:00
Andrzej Kapolka
750843e867
More editing progress. Now there are threading issues. Joy!
2013-05-10 21:02:08 -07:00
ZappoMan
ddd55104c1
CR feedback
2013-05-10 14:45:18 -07:00
ZappoMan
ef20b3e4b3
optimized performance of VoxelNode::isLeaf()
2013-05-10 14:32:44 -07:00
ZappoMan
322cb2ff23
implemented partial VBOs support in copyWrittenDataToReadArrays()
2013-05-10 13:18:51 -07:00
ZappoMan
3af8a1b8f4
code review fixes
2013-05-10 10:03:28 -07:00
ZappoMan
9dc09de75e
make VoxelSystem::deleteVoxelAt() work properly
2013-05-10 09:32:56 -07:00
ZappoMan
4fe93af5cd
create and delete voxels locally
2013-05-09 22:22:32 -07:00
ZappoMan
bd3ea6ef65
create and delete voxels locally
2013-05-09 22:20:13 -07:00
ZappoMan
2128cb8bff
get rid of dead code
2013-05-09 17:10:25 -07:00
ZappoMan
33fc9f5389
fixed partial VBO updates
2013-05-09 17:01:20 -07:00
ZappoMan
3aa862fa34
removed some debug messages
2013-05-09 14:19:42 -07:00
ZappoMan
c73d4ddfa4
Merge branch 'master' of https://github.com/worklist/hifi into render_voxels_optimization
2013-05-09 14:06:42 -07:00
ZappoMan
f490f3ed53
More work on partial VBO updates still not working 100% correctly
2013-05-09 14:04:08 -07:00
Andrzej Kapolka
7ff8b84f4c
Return the box face, as well as the distance, from the ray intersection test.
...
Use it to determine which voxel neighbor we create when adding.
2013-05-09 10:46:52 -07:00
ZappoMan
655f14121d
Voxel Render Optimization - using blended VBO update strategy
...
- Fixed a bug in updateNodeInArraysAsFullVBO() that caused blended strategy
to not work properly.
- Implement strategy to usually update only the portion of the VBOs that
have changed, unless nodes have been removed, and then update the full
VBO. This siginificantly improves treeToArrays() performance
- Still to do implement partial strategy for copy buffers and update GPU
2013-05-09 10:25:12 -07:00
Andrzej Kapolka
0cff127082
Merge branch 'master' of https://github.com/worklist/hifi
2013-05-09 09:56:58 -07:00
Andrzej Kapolka
785e55e06f
Working on voxel editing.
2013-05-09 09:56:35 -07:00
ZappoMan
bb65137b7e
Optimized performance of newTreeToArrays() by implementing blended VBO strategy
...
- Introduced concept of sometimes only updating the new/changed part of the VBO
while other times updating the full VBO. This allows us to get the speed
advantage of only partial VBO updates when nodes haven't been removed
- Some debugging output related to _alwaysRenderFullVBO
- added cleanupRemovedVoxels() which actually deletes the nodes that were
previously removed (fixes a memory leak!!)
2013-05-08 20:33:41 -07:00
ZappoMan
244b4a17f7
lowered voxel count so Ryan can run, and handle too many voxels case slightly more gracefully than crashing
2013-05-08 18:06:13 -07:00
ZappoMan
cb5ccee1e4
CR cleanup
2013-05-08 14:32:55 -07:00
ZappoMan
ed30a03b2e
CR cleanup
2013-05-08 14:30:18 -07:00
ZappoMan
70557cd51c
Optimized removeOutOfView()
...
- don't recurse down trees that are fully INSIDE of the view frustum, because those nodes
are guaranteed to also be INSIDE
- changes to extraData of the recurse operation to make this possible
- adding debug stats to track how many nodes are inside, outside, intersect
- change call to removeOutOfView() to not call if last elapsed time has not
yet passed since last call (similar to treeToArrays() logic)
2013-05-08 14:24:08 -07:00
ZappoMan
7a5ce57b4e
added alwaysDisplay mode to PerformanceWarnings class
2013-05-08 12:01:55 -07:00
ZappoMan
f1425216ba
removed VoxelSystem::createSphere() which was dead code
2013-05-08 00:45:27 -07:00