Commit Graph
63 Commits
Author SHA1 Message Date
Baezon 13f911528f no implicit magic number, and initialize 0 2020-10-12 13:39:05 -04:00
Baezon 773d6f9710 v1 2020-10-12 01:13:29 -04:00
asarium ea73ea33ca Add support for looping particles
This introduces support for keeping particles around forever and letting
them be controlled by a Lua script.
2018-09-17 09:26:20 +02:00
asarium d1a6b48beb Improve handling of non-persistent particles
The current particle system uses dynamic allocation of particle
instances for keeping track of particle instances. This adds unnecessary
overhead in case the code does not need a handle to this particle which
is the case in pretty much all instances.

The new non-persistent particles are stored in a standard vector without
dynamic allocation which should make the processing steps using this
vector much faster and allow better scalability in case more particles
are used by a mission.
2018-04-22 16:22:28 +02:00
Fabian Woltermann 0af2736327 Load the Fire particle animations (#1251)
Load the Fire particle animations too. Fixes #1245.
2017-02-21 16:20:35 -08:00
Fabian Woltermann b3a8824d68 Adds more trace scopes to get a better look at the internals of render_frame 2017-02-02 15:07:43 +01:00
asarium 6922d3ca2c Integrate the existing monitor system into the new tracing system
This writes the monitor updates as counter events into the event trace
file.
2016-12-21 16:10:01 +01:00
asarium d64196eff0 Refactor tracing subsystem
The new design is centered around the Event Trace JSON format but it
should still be possible to adapt it for other profiling tools. The old
profiling system has been removed.
2016-11-24 10:26:21 +01:00
asarium 26f45732da Move profiling functions into separate folder 2016-09-14 12:26:53 +02:00
SamuelCho b75a354505 Cleaned up more rendering code. Shrunk the vertex struct since we don't use spec_rgb anymore. Removed any declarations using the old geometry batcher. Streamlined desaturation in the model shader to use the main color uniform. Removed old unneeded interp_ code. Removed stored geometry shader parameters from the shader constants since we're no longer using the EXT version of geometry shaders. 2016-08-30 23:22:09 -07:00
SamuelCho 67916a4efb Cleaned up various warnings from orphaned variables or added by the new rendering code. 2016-08-24 21:28:24 -07:00
asarium 1f1d6ceecf Remove extensions that are included in OpenGL Core 2016-08-20 21:43:48 +02:00
SamuelCho a481999a24 OpenGL Core support. Introduction of material based draw system. Rewrote geometry batcher. 2016-08-17 00:13:19 -07:00
asarium bbeaaa1565 Add a new particle effect system
This is similar to the script I wrote a few years ago but unlike that
one, this solution doesn't kill the performance.
2016-08-04 11:08:39 +02:00
asarium 16be3b7cc5 Add support for TrueType fonts
This allows to use standard TrueType Fonts for text rendering in FSO. It uses the NanoVG library which provides the ability of drawing 2D shapes. This library is used for most 2D operations now and can also be used directly by using the PathRenderer class.
2016-08-02 10:57:28 +02:00
MageKing17 70529dbd5a Deprecate -nohtl and -brief_lighting.
-nohtl hasn't worked for years, and -brief_lighting was always supposed to be a temporary flag before making the behavior always on.
2016-07-08 09:39:29 -07:00
niffiwan 87770aad8f Add total_time output param to bm_load_animation
Also convert int to bool, and replace NULL with nullptr
2016-05-10 19:42:20 +10:00
niffiwan 0b20b15c2c Fix issues found by Axem
Fix silly issue preventing getFrame() from working
Remove infinite loop when calculating frame num
Convert more animations to use new frame calc function
2016-05-10 19:42:20 +10:00
Echelon9 c5493bb480 Scripted sort and uniq on (internal) project includes. Improves search time and as a by product removed a number of duplicative includes. 2015-06-22 20:24:30 +10:00
Swifty c620372357 Soft shadows, deferred lighting, and various major graphics optimizations. 2015-05-02 14:35:37 -07:00
z64555 8d5fbab768 z64555's debug console. Take 2. Includes changes to most (not Xcode) project files to include the added files of r10621
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10622 387891d4-d844-0410-90c0-e4c51a9137d3
2014-05-08 19:18:37 +10:00
The_E 98355da7d5 Revert 10619: Missing files
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10620 387891d4-d844-0410-90c0-e4c51a9137d3
2014-05-08 19:18:36 +10:00
z64555 2b2ba832f8 z64555's debug console.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10619 387891d4-d844-0410-90c0-e4c51a9137d3
2014-05-08 19:18:36 +10:00
The_E e2281c39cb Adds Swifty's frame profiling code. In order to activate it, use the -profile_frame_time commandline parameter. ATTENTION PLATFORM MAINTAINERS:
This adds a new file to the source tree named profiling.cpp, add this to the respective project files (I've already done it for the various MSVS projects)

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9806 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-26 18:51:33 +10:00
Goober5000 b3c5bdab7b properly fix the removal of particles (Mantis #2165) 2012-12-17 09:36:40 +00:00
Goober5000 6bb4ae42ae revert revision 9411 in preparation for fixing particles (Mantis #2165) 2012-12-17 08:59:55 +00:00
Zacam c10eca5808 Fix for Mantis 2165: Vector iterator becomes invalid in Particle.cpp 2012-12-09 03:31:18 +00:00
Swifty 6ba0da6020 go_even_faster: Improved rendering performance of particles by sending vertex data via buffer object. 2012-08-11 21:01:13 +00:00
Echelon9 598bd73413 STL types are tuned to handle their own memory allocations. Code like this is never going to be optimal in all situations, and likely to be sub-optimal in many situations 2011-10-17 13:01:48 +00:00
Echelon9 41919ee15b Clarify some aspects of the geometry map and distortion map batchers, as well as clarifying and making consistent the function calling conventions throughout the code. 2011-10-16 05:08:33 +00:00
Swifty fe605149c4 Soft sphere sprite rendering for particles, explosions, shockwaves, and thrusters. 2011-08-20 22:14:52 +00:00
The_E c71012a829 Patch for Mantis 2421 from m!m: Adds scripting controls for particles. 2011-06-01 19:41:07 +00:00
The_E a1acb0601d And more from m!m, as seen here: http://www.hard-light.net/forums/index.php?topic=44821.msg1487355#msg1487355 2011-03-19 21:49:42 +00:00
Wanderer 3b1597f2d9 fix to attach muzzleflashes on ship to weapon firing points - mantis 2135.
also related fixes - fix attached particle rendering, allow all particles to exists at least 1 frame
2010-03-04 10:10:57 +00:00
taylor 4b40d32f3d particle updates from the Xt code base 2010-02-03 02:18:22 +00:00
Wanderer c2a526db7d fix to portej's fix to particle code 2009-12-18 07:43:43 +00:00
portej05 e67a50beca Make particles go a lot faster! (until a better system is implemented) 2009-12-18 04:28:13 +00:00
portej05 0383415a3b Antipodes 3 from Flaming_Sword 2009-09-26 05:52:17 +00:00
portej05 6a8d45c93d Replace most instances of std::vector with SCP_vector. Memory is now all run through vm_malloc and vm_free.
Watch it go up AND down in mission.
2009-07-11 07:07:57 +00:00
portej05 719825f80d The big CVS comment removal. This chops approx. 3.5mb off a full checkout.
I've tested this through compiling and through hand checking. 
Normalises line endings in ALL files to \n.
2009-06-20 08:08:20 +00:00
taylor 96c1fc5df2 some minor performance improvements
remove NO_SOUND
2007-02-11 09:39:09 +00:00
taylor 806027e4e8 various small compiler warning and strict compiling fixes 2006-09-11 01:00:28 +00:00
taylor 11204949ec small optimization 2006-09-08 06:11:06 +00:00
taylor 43dd50673d lots of little cleanup and minor fixage
make Particles[] dynamic (appears to improve processing speed of two particle functions by about 30%)
move to completely using Bobboau's geometry batcher instead of the stale one that RandomTiger did
little change to PARTICLE_SMOKE to flip UV orient differently, may add some realism, or just look kinda neat
get rid of particle_emit() stuff what was hardcoded for MAX_DETAIL_LEVEL value
2006-05-27 16:52:50 +00:00
wmcoolmon faa0b28008 Texture replacement stuff 2006-01-21 09:36:58 +00:00
Goober5000 906c904881 whoops
--Goober5000
2005-09-24 02:43:33 +00:00
Goober5000 d1ade71cc3 get rid of a whole bunch of Microsoft warnings
--Goober5000
2005-09-24 02:40:10 +00:00
taylor 2e61bf2d41 minor sanity checking for geometry_batcher
make particle batchers allocate dynamically
handle cases where a particle graphic couldn't be loaded
2005-06-19 09:00:09 +00:00
taylor 7f786136a6 s/vector/vec3d/g, better support for different compilers (Jens Granseuer) 2005-04-05 05:53:25 +00:00
taylor c45c29ea5b fix GCC building 2005-03-24 23:37:25 +00:00