Commit graph

258 commits

Author SHA1 Message Date
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