Commit Graph
78 Commits
Author SHA1 Message Date
ETP 5fd439fb60 Clean now-unused batch rendering flag. 2023-11-18 16:26:10 -05:00
ETP 2043f836ed Clean extra batched buffer run in particles 2023-11-18 15:53:47 -05:00
Asteroth a9fc7bab8a fix for particle culling (#5719) 2023-10-26 16:08:09 -04:00
wookieejedi 5a1ac87802 Update recent particle optimizations to fix edge case slowdowns (#5385)
#5328 added a very useful culling for particles created by specific particle effects (ie weapons, now beams), though in an effort to simplify the culling process, that PR removed the necessary culling of default smoke on ships. This PR restores the culling of default smoke while also keeping the new culling of particle specific effects. Tested and works as expected, including fixing the slowdowns caused by the aforementioned removal of smoke effect culls.
2023-04-30 15:15:37 -04:00
Asteroth 56f010a231 Add arbitrary curves support (#5323)
* Add arbitrary curves support

* review tweaks

* pretty sure i dont need this anymore
2023-04-19 08:13:06 -04:00
Asteroth 4bbc9f3eb3 Improve particle culling and performance (#5328)
* better particle culling

* remove range on emitters

* explicit cast

* bit more efficient
2023-04-17 08:03:41 -04:00
Asteroth 7c4b9272d5 Randomize particle rotation (#5335)
* randomize particle rotation

* spelling

* initialize it, dummy
2023-04-17 07:37:38 -04:00
BMagnu 2f0e2f591f Adjust alpha of neb-affected effects 2023-02-28 14:17:49 +01:00
Goober5000 e2dbfca1c3 allow customizing of debug particle color 2022-09-26 18:45:19 -04:00
Taylor Richards 5e2a4c05a3 make sure particles don't get processed on standalone 2022-01-18 06:38:35 -05:00
Asteroth d079d7fad2 Expose nebula visibility factors (#3676)
* Expose nebula visibility factors

* separately expose size factors

* naming changes
2021-11-10 13:07:04 -05:00
Baezon 29846e2101 make particle alpha distance fade be based in part on radius 2021-06-07 20:50:12 -04:00
Joshua Glatt 144d484c85 Replace rand() calls with a Random class (#3332) 2021-05-04 18:26:06 -07:00
Baezon 6e54ed3dfc more exponential fog 2021-03-08 00:09:42 -05:00
Baezon 3c53b74e5e switch to exponential nebula fog 2021-03-04 23:02:24 -05:00
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