Commit graph

130 commits

Author SHA1 Message Date
Brad Hefta-Gaub
e6fb587a8c Merge branch 'master' of https://github.com/highfidelity/hifi into animationGroupSettings 2015-10-02 13:04:14 -07:00
Brad Hefta-Gaub
aca25bd76e connect up AnimationPropertyGroup to AnimationLoop 2015-10-01 11:05:16 -07:00
Brad Hefta-Gaub
7c14f9ab93 Merge branch 'animationGroupSettings' of https://github.com/ZappoMan/hifi into animationGroupSettings 2015-09-30 21:46:28 -07:00
Brad Hefta-Gaub
6aa9ef9910 first cut at migrating animation settings into a property group 2015-09-30 20:51:25 -07:00
David Rowe
c56ac24602 Improve particle property interpolation
Use Bezier interpolation instead of cubic so that values don't overshoot.
2015-09-30 11:37:22 -07:00
David Rowe
d233d3f81b Fix particle emitter corner cases 2015-09-24 19:17:02 -07:00
David Rowe
629128c17f Fix particle emit directions for point emitter 2015-09-24 19:16:28 -07:00
David Rowe
3d44fdfdf5 Fix warnings 2015-09-23 21:18:23 -07:00
David Rowe
2b902238e7 Code tidying 2015-09-23 10:33:31 -07:00
David Rowe
812ab9b7c6 Merge branch 'master' into 20681
Conflicts:
	libraries/entities/src/EntityItemProperties.cpp
2015-09-18 16:44:04 -07:00
David Rowe
ec146069b1 Reuse old property enum slots 2015-09-18 13:06:18 -07:00
David Rowe
8634b59914 Make able to emit from within portion of ellipsoid volume 2015-09-17 23:49:57 -07:00
David Rowe
9e2b5b75b6 Make able to emit in specified range of directions
Controlled by polar and azimuth start and finish angles, around point or
from specified part of spheroid surface.
2015-09-17 22:40:49 -07:00
David Rowe
f647dcf147 Change emitter radiuses to dimensions to match sphere properties 2015-09-17 21:06:40 -07:00
Brad Hefta-Gaub
4e2cb00ec3 first cut at only returning type specific properties in getEntityProperties 2015-09-17 17:33:53 -07:00
David Rowe
12e2cf3ce9 Emit in all directions from a point or the surface of a spheroid 2015-09-17 17:14:35 -07:00
David Rowe
c992107363 Add particle properties ready to use for emitting from a spheroid 2015-09-16 18:07:18 -07:00
Brad Hefta-Gaub
e1cb041576 first cut at adding desiredProperties to getProperties 2015-09-16 15:00:42 -07:00
David Rowe
d51cab3e3d Replace particle velocity with speed and orientation 2015-09-16 14:51:08 -07:00
Seth Alves
49ee251238 quiet compiler 2015-09-12 09:59:25 -07:00
David Rowe
4d4b35ba5e Fix #include 2015-09-10 09:47:49 -07:00
David Rowe
fa959c4554 Move cubic interpolation method to shared library 2015-09-10 08:53:16 -07:00
David Rowe
99c1e06201 Code tidying 2015-09-08 13:25:15 -07:00
David Rowe
cdd5e68815 Add colorStart and colorFinish entity particle properties 2015-09-08 11:28:53 -07:00
David Rowe
cb9468c311 Add colorSpread entity particle property 2015-09-07 16:27:42 -07:00
David Rowe
47b27a3280 Add alphaStart and alphaFinish entity particle properties 2015-09-05 16:30:01 -07:00
David Rowe
042384b5b0 Tidy and finish alpha and alphaSpread 2015-09-05 14:51:48 -07:00
David Rowe
1b3d125cb3 Add alphaSpread entity particle property 2015-09-05 14:39:10 -07:00
David Rowe
8b296f53e6 Short-circuit radius values and interpolation when can 2015-09-05 11:13:48 -07:00
David Rowe
8d85309925 Use cubic interpolation instead of cosine 2015-09-05 10:50:05 -07:00
David Rowe
12b8a5a1d5 Add alpha property support to ParticleEffect entities
Add at same "level" as color so that it's available for other entity
types to use in the future.
2015-09-05 10:23:27 -07:00
David Rowe
c910da7179 Add radiusStart and radiusFinish entity particle properties 2015-09-04 12:27:18 -07:00
David Rowe
2bc2582797 Fix missing entity property gets for velocity and acceleration spread 2015-09-03 14:55:09 -07:00
David Rowe
45ff118249 Add new radiusSpread entity particle property 2015-09-03 14:55:08 -07:00
Andrew Meadows
614fad0811 remove warnings from linux build 2015-08-27 19:12:25 -07:00
ericrius1
5586c2ff17 fixed ordering of bitsream reading for old svo files with particle entities 2015-08-26 11:45:19 -07:00
ericrius1
f25b75093c cleaned up conditional bitstream parsing 2015-08-26 09:44:29 -07:00
ericrius1
13892db866 removed logging 2015-08-24 11:41:03 -07:00
ericrius1
5fa27a7cf1 added back computeAndUpdate mmethod for particles, and now handling parsing old streams 2015-08-24 10:59:38 -07:00
ericrius1
e191a301d8 added a spread to defaults to create a default fountain effect 2015-08-13 16:08:38 -07:00
ericrius1
bb84e0e403 fixed defaults 2015-08-13 15:57:45 -07:00
ericrius1
6fe8703492 added defaults to particle effect for velocity and acceleration 2015-08-13 15:50:00 -07:00
ericrius1
5b2e966ca5 fixing accel issues 2015-08-13 10:55:21 -07:00
ericrius1
d38d29e0f5 fixed argument signatues and optimized particle position calculations 2015-08-13 10:35:32 -07:00
ericrius1
f3d6992dd2 remove outdated comment 2015-08-12 17:28:07 -07:00
ericrius1
36ca0c54fc acceleration spread working properly 2015-08-12 16:13:00 -07:00
ericrius1
16279bd415 emitters trail particles now 2015-08-12 14:01:42 -07:00
ericrius1
528d662c58 getting acceleration spread hooked up 2015-08-12 09:50:01 -07:00
ericrius1
2db053e56a adding acceleration spread property 2015-08-11 17:09:48 -07:00
ericrius1
0031c2a39a changed localGravity prop to acceleration, which can be along any arbitrary direction 2015-08-11 16:05:18 -07:00
ericrius1
c2915fc0f5 changing to velocity spread 2015-08-11 15:16:36 -07:00
ericrius1
ddaba19a4e chaning to velocity from direction 2015-08-11 14:43:05 -07:00
ericrius1
7ed408bf97 fixed merge conflics 2015-08-10 15:50:51 -07:00
ericrius1
d341dc337d added direction spread property to particle entity to enable users to create more varied effects (such as falling snow 2015-08-10 15:48:28 -07:00
ericrius1
23dcc647c4 adding more for direction spread 2015-08-10 15:00:21 -07:00
ericrius1
460eaa515b adding direction spread 2015-08-10 14:19:25 -07:00
ericrius1
c299d77c92 fixed implicit double to float casting and incorrect header author attribution 2015-08-10 10:57:53 -07:00
Seth Alves
a9556660c4 fix linux build 2015-07-29 20:53:24 -07:00
Anthony J. Thibault
604ef5dc71 Fixed float constant. 2015-07-27 09:28:56 -07:00
Anthony J. Thibault
5844b594dc Converted magic numbers to constants. 2015-07-27 09:27:16 -07:00
Anthony J. Thibault
5cc0b45850 Improved ParticleEffectEntityItem rendering and updates
* Created custom pipelines and shaders for untextured and textured
  particle rendering.
* Created custom render payload for particles
* Moved all particle updates into simulation rather then render.
* Uses pendingChanges.updateItem lambda to update the playload with
  new data for rendering.
* ParticleEffectEntityItem now updates its dimensions properly,
  based on emitter properties.
* Bug fix for dt not accumulating properly, during gaps between updates.
  now we just update all the time.  (super cheap tho, if there are no particles
  animating)
2015-07-26 17:21:17 -07:00
Atlante45
256c786e28 Merge branch 'master' of https://github.com/highfidelity/hifi into smart_pointers 2015-07-17 17:59:19 -07:00
Andrew Meadows
18d0cb5158 cleanup of EntityItem ctors and friends 2015-07-16 17:48:28 -07:00
Atlante45
7b5a5a339a Use make_shared/create to make shared pointers 2015-07-01 19:46:06 -07:00
ZappoMan
763e6dd97b Merge branch 'master' of https://github.com/highfidelity/hifi into team-teaching 2015-05-27 19:58:11 -07:00
Brad Hefta-Gaub
0553f7ca4c Merge pull request #4961 from hyperlogic/ajt/particle-net-anim-fix
Particle entities should avoid resetting simulation when setMaxParticles is called
2015-05-27 17:44:44 -07:00
Anthony Thibault
18d683bced Particle entities should avoid resetting simulation when setMaxParticles is called.
This caused all particles to disappear when a network packet was received.
2015-05-25 12:22:38 -07:00
ZappoMan
9988f2d1cd EnitityItem smart pointers 2015-05-22 22:38:02 -07:00
ZappoMan
8b78fc4190 EnitityItem smart pointers 2015-05-22 17:57:50 -07:00
Atlante45
d0cd18d6c0 Replace entities pos/rot/dim with transform
Removed _position, _rotation, _dimensions
Added Transform _transform
2015-05-15 17:35:24 +02:00
ZappoMan
67df6e3c62 make READ_ENTITY_PROPERTY_TO_PROPERTIES() type safe 2015-05-12 16:24:16 -07:00
ZappoMan
98474376de consolidate READ_ENTITY_PROPERTY() macros into single typesafe version 2015-05-12 15:59:45 -07:00
ZappoMan
83d212861d make APPEND_ENTITY_PROPERTY type safe 2015-05-12 11:41:04 -07:00
ZappoMan
c81f6dc69c fix particle properties 2015-05-12 11:03:16 -07:00
Anthony Thibault
b3af515224 Particle entity improvements based on code review.
* Updated variable naming to match coding standards.
* Changed particle raw float arrays to vectors.
* Bug fix: changing maxParticles will no longer lead to memory corruption.
* Made particle ring buffer more explicit, added _particleTailIndex.
* Added getLivingParticleCount() private method.
* Moved integration and bounds code into private methods.
* Bug fix: high emit rates now properly integrate particles forward for the
  remaing frame time, not the entire frame.
* Bug fix: new particles were not initiaized to origin.
* Added more particles to ajt-test.js.
* Bug fix: ajt-test.js script was not shutting down properly.
* Removed random seed, unless we have a psudo random number generator per
  particle system instance, it's unlikely that this will preserve sync.
* Bumped packet version number.
2015-05-11 19:21:33 -07:00
Anthony J. Thibault
ede42285b1 Improvements to particle entity.
* Changed particle geometry to billboarded quads
* Added texture support
* Added ajt-test.js particle test script.
* GeometryCache support for batched quads with texCoords.
* Bug fix for infinite loop if _lifetime was very large.
* Don't reset the simulation on animation loop.
* stop emitting particles on animation stop, but keep simulating until there are no more living particles.
* Removed some trailing whitespace
2015-05-10 17:13:46 -07:00
Seth Alves
d4461f1ecb put avatars and embedded-webserver and entities logging into their own QLoggingCategory 2015-04-06 16:22:54 -07:00
Andrew Meadows
e418872f7b namechanges: setFooInMeters() --> setFoo()
also fixed some warnings, made code abide to standard,
and moved some variables to be closer to where they're used
2015-03-09 09:56:15 -07:00
Jason
7a5669f14e Interview project updates.
Tried to address all of Brad's notes, most of which were related to
matching the coding style for the project.  Also used GeometryCache
instead of making direct calls to OpenGL to do drawing, took a different
approach to seeding rand(), updated the packet version, and fixed a bug
that I noticed in the setting of the dimensions for the particle effect
entity.
2015-03-06 15:52:21 -08:00
Jason
3522357c8c High Fidelity interview project -- Jason Rickwald
For my project, I decided to add a new entity -- a Particle Effect.
This is really rudimentary to start out with, but you could see where
it's headed.
2015-03-04 16:06:06 -08:00