Commit graph

312 commits

Author SHA1 Message Date
Andrzej Kapolka
2d4134afaf Provide basic conversions to/from SharedObjectPointer (still have to work out
how to handle reference counting correctly).
2014-07-15 17:58:31 -07:00
Andrzej Kapolka
a13d8559e6 Better scoping. 2014-07-15 16:55:52 -07:00
Andrzej Kapolka
ce0210bf04 The weak shared object hash can be accessed by multiple threads, so it must
be locked.
2014-07-15 16:52:17 -07:00
Andrzej Kapolka
469e31cc05 Script bindings for QColor. 2014-07-15 16:44:02 -07:00
Andrzej Kapolka
ebcb8d00d6 Unfortunately, the early test for subdivision doesn't work, which means that,
for now, we need to traverse the entire tree to find subdivided nodes.  To be
revisited.
2014-07-15 15:47:31 -07:00
Andrzej Kapolka
e2c8bdbdbe Create new nodes on subdivision. 2014-07-15 13:22:50 -07:00
Andrzej Kapolka
9d55100087 Merge (but don't clear redundant nodes) after reading subdivisions. 2014-07-15 09:31:23 -07:00
Andrzej Kapolka
60e8c12d4b Merge branch 'master' of https://github.com/highfidelity/hifi into metavoxels 2014-07-15 09:25:36 -07:00
Andrzej Kapolka
e32bab5b04 Beginnings of some metavoxel scriptability, to create some test landscapes. 2014-07-14 14:32:55 -07:00
Aleric Inglewood
961eca4327 Fix typo in previous commit 2014-07-13 20:51:19 +02:00
Aleric Inglewood
ea98b58b40 Debug support: allow printing of glm types to QDebug.
This adds support for serialization to QDebug of
glm::vec3, glm::quat and glm::mat4.

Output example:

qDebug().nospace() << "Calling PhysicsEntity::findRayIntersection(" << origin << ", " << direction << ", &distance) const; numShapes = " << numShapes;
leads to:
[2014-07-13T20:24:47] Calling PhysicsEntity::findRayIntersection({type='glm::vec3', x=5222.45, y=2159.05, z=6527.79}, {type='glm::vec3', x=0, y=-0.119145, z=-0.992877}, &distance) const; numShapes = 0

Note that we explicitly don't return dbg.space() because
we want to be able to print these things comma separated
as follows: {...}, {...}, ...  as opposed to {...} , {...} etc.

I changed the already existing operator<< for Box to
the more general case, where it just prints its members
and doesn't mess with the internals of its members.
The result is more verbose, but also more recognizable when
in the future everything will look the same, allowing
for speed reading the debug output.

The constructor of Box needed to made explicit because
it was too annoying that when one forgets to #include "StreamUtils.h"
that writing a glm::vec3 resulted in printing out a Box,
implicitly converted from the vector.
2014-07-13 20:43:02 +02:00
Andrzej Kapolka
5e34bcc423 Some additional comments. 2014-07-11 15:51:36 -07:00
Andrzej Kapolka
38623e108a Delete persister when its thread finishes, copy metavoxel nodes on subdivision
so that we'll know that they changed.
2014-07-11 15:37:59 -07:00
Andrzej Kapolka
d121c8e07a Fix for starting with empty spanners (due to LOD), then adding. 2014-07-10 17:21:05 -07:00
Andrzej Kapolka
817b50c7b8 Show upload/download stats for all reliable messages, not just reliable delta
downloads.
2014-07-10 15:34:45 -07:00
Andrzej Kapolka
dbd7ec18b0 Show some stats on the client (node counts under LOD, reliable delta download
progress).
2014-07-09 17:15:05 -07:00
Andrzej Kapolka
3b7945fc14 Gather and print out some stats after loading the data. 2014-07-09 15:52:23 -07:00
Andrzej Kapolka
f9036dbaec Lock the attribute mapping, since it can be accessed from multiple threads. 2014-07-09 14:22:33 -07:00
Andrzej Kapolka
efe443e2ff Very basic metavoxel save/load. 2014-07-09 14:01:46 -07:00
Andrzej Kapolka
1b890a9e48 Use congestion control for client sends, too. 2014-07-08 15:37:59 -07:00
Andrzej Kapolka
b6570dc4ee Use congestion control on server. 2014-07-08 15:10:05 -07:00
Andrzej Kapolka
02cf1f006e Change tests to reflect transmission changes and fixed issue with reprocessing
already-handled reliable delta.
2014-07-08 13:41:42 -07:00
Andrzej Kapolka
db1a9fa09b Fix for streaming error. 2014-07-08 10:14:41 -07:00
Andrzej Kapolka
365bc2a93e Need to reset the stream here. 2014-07-07 19:27:04 -07:00
Andrzej Kapolka
aaae07087c Fix for local edits. 2014-07-07 18:09:50 -07:00
Andrzej Kapolka
69e7a17f47 Rather than backing out when we find that the delta is too big, we can just
write the whole thing and copy it over (with some mapping fiddlery) if it
turns out to be too big.
2014-07-07 16:07:04 -07:00
Andrzej Kapolka
e15f003639 Bring reliable delta streaming code over from test. 2014-07-07 11:08:43 -07:00
Andrzej Kapolka
da32c6e89b Push persistent mappings into reliable delta channel before sending and pull
transient mappings out after sending.
2014-07-03 17:29:10 -07:00
Andrzej Kapolka
282c62a083 Handle LODs correctly (?) for reliable deltas. 2014-07-02 18:49:40 -07:00
Andrzej Kapolka
154eb04336 Working on sending large deltas as reliable messages. 2014-07-02 17:13:39 -07:00
Andrzej Kapolka
73a1e759a4 Include an additional bit with the objects that says whether what follows is
a delta.  The clients may be retaining references to the objects, so we can't
rely on their having been deleted.
2014-06-30 12:35:34 -07:00
Andrzej Kapolka
f16098daef Use the refactored endpoint/client classes in the actual client/server. 2014-06-26 19:11:54 -07:00
Andrzej Kapolka
4b2d122f3d Working on factoring out the common metavoxel endpoint/client code. 2014-06-26 16:12:11 -07:00
Andrzej Kapolka
014ea2a36f Merge branch 'master' of https://github.com/highfidelity/hifi into metavoxels 2014-06-25 18:22:33 -07:00
Andrzej Kapolka
5effcd24ff Only increase/decrease rate when we want to send more/have sent more than the
minimum, respectively.
2014-06-25 16:56:02 -07:00
Andrzej Kapolka
705445ce62 Basic congestion control using TCP-esque strategy. 2014-06-25 15:48:46 -07:00
Andrzej Kapolka
41b01dbaed Fix warning and simplify encodeRandomOrder. 2014-06-25 13:00:17 -07:00
Andrzej Kapolka
ae1422e0cb Reset the write position when we hear of packet loss (up to once per round
trip time).
2014-06-25 11:42:02 -07:00
Andrzej Kapolka
d913ac4486 Fix for streams' getting stuck on the final part. 2014-06-24 19:34:19 -07:00
Andrzej Kapolka
65e50f32e4 Tests, fixes for SpanList. 2014-06-24 19:10:52 -07:00
Andrzej Kapolka
49f1d427ec Removed incremental streaming stubs. 2014-06-20 18:12:08 -07:00
Andrzej Kapolka
de0c45a919 Spanner mutation in test. 2014-06-20 18:09:51 -07:00
Andrzej Kapolka
ce778f47b1 More work on stream testing, fixed bug with differently-ordered edits. 2014-06-20 14:08:39 -07:00
Andrzej Kapolka
24f535e02d Working on metavoxel streaming tests. 2014-06-19 18:15:17 -07:00
Andrzej Kapolka
7a9c0f0e6a Working on tests for metavoxel streaming. 2014-06-19 14:50:19 -07:00
Andrzej Kapolka
531c32fdd3 More comments, stubbing out incremental streaming. 2014-06-18 18:07:50 -07:00
Andrzej Kapolka
6ec562931f Some additional comments for DatagramSequencer. 2014-06-18 14:44:11 -07:00
Andrzej Kapolka
e0689b1484 Fixed compile error on Xcode. 2014-06-18 12:04:41 -07:00
Andrzej Kapolka
b74e69e359 Merge branch 'master' of https://github.com/highfidelity/hifi into metavoxels 2014-06-18 11:33:41 -07:00
Andrzej Kapolka
52de729d60 Add virtual destructor to get rid of Xcode warning. 2014-06-18 11:31:58 -07:00