asarium
3fcb731621
Refactor shader handling
...
This fixes a few of the bad design descisions of previous shader
iterations. This uses a dedicated class for managing the resources and
uniform locations of a shader program.
Uniforms are also stored in this object which makes a lot more sense
than storing them in the OpenGL state where they had to be reset every
time a new shader was used.
There are still a lot of possible enhancments to make, e.g. by using
uniform blocks and buffers instead of standard uniforms which would make
uniform location handling easier.
Another optimization that I will investigate is reducing the amount or
different compiled shaders by turning some of the current compile-time
defines into bool uniforms.
2016-08-29 12:38:38 +02:00
asarium
173041e03a
Remove is_minimum_GLSL_version()
...
Since OpenGL Core is required now that function would always return true
so it can be removed.
2016-08-26 22:16:30 +02:00
asarium
beb9288c73
Merge branch 'opengl_core_materials' of https://github.com/SamuelCho/fs2open.github.com into ogl_core/merge
...
Conflicts:
code/graphics/gropengl.cpp
code/io/cursor.cpp
freespace2/SDLGraphicsOperations.cpp
2016-08-23 16:05:28 +02:00
SamuelCho
7b2c7b6ccc
Make sure distortions are rendered after the effect framebuffer is copied.
2016-08-22 20:49:09 -07:00
SamuelCho
311cf769df
Reconciled bit flags.
2016-08-20 19:39:10 -07:00
Fabian Woltermann
1acfaa8157
Converts model subsystem flags
2016-08-19 14:59:15 +02:00
Fabian Woltermann
127976cd74
Weapon info flags conversion ( #851 )
2016-08-18 23:17:41 -07:00
SamuelCho
a481999a24
OpenGL Core support. Introduction of material based draw system. Rewrote geometry batcher.
2016-08-17 00:13:19 -07:00
Fabian Woltermann
770fce8de5
Bitset flags -- take 2 ( #775 )
...
This introduces a new mechanism for handling bit flags. Instead of using an int (or two, or three) to write bits into, this uses the std::bitset in a wrapper class that accepts an enum class as input. This means that certain classes of errors we've had a few of in the engine, where a coder used the wrong set of flags or checked them against the wrong variable (SF_STEALTH vs SIF_STEALTH, for example) can now be detected at a compiler level rather than not at all.
2016-08-12 16:13:50 -07:00
m!m
22c0255277
Fix a bunch of 64-bit MSVC warnings ( #709 )
...
* Fix a bunch of 64-bit warnings
* Fix Linux compilation error
* Fix Mac error
* Fix some issues
* Fix more GCC warnings
* Remote unwanted change
* Remove accidentally readded file
* Fix wrong limit check
* Use BEAM_INDEX macro for getting beam object index
* Fix 32-bit warning
* Use BEAM_INDEX instead of pointer arithmetic
2016-08-09 11:08:54 -07:00
Fabian Woltermann
9f0897d916
Fixes issue when rendering thrusters on weapon models
2016-07-28 20:04:40 +02:00
asarium
1bcd5400d3
Move build system to CMake
2016-07-22 12:07:19 +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
SamuelCho
dd73d8fb63
New lighting model based off of Blinn-Phong and Fresnel-Shlick. Introduced -reflect maps. New gloss parameters for specular power. High dynamic range rendering. Improved bloom pass.
2016-07-05 23:15:08 -07: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
niffiwan
50c791c998
Add support for non-streaming apngs
...
i.e. apngs (pre)loaded into bmpman slots
handles apng variable frame delays
Includes new lua function (getFrames) to find the current frame for
apngs. Also uses new function to correctly display apngs for mission
loading animations, ship thrusters & engine glows.
2016-05-10 19:42:20 +10:00
Peter Mitsis
180674154c
trig: Use floating point versions of trig functions
...
Replaces calls to double-precision floating point trig functions with
calls to single-precision floating point trig functions as follows:
cos() -> cosf()
sin() -> sinf()
tan() -> tanf()
acos() -> acosf()
asin() -> asinf()
atan() -> atanf()
This allows the compiler to avoid generating unnecessary instructions
that convert a float to a double and then a double back to a float.
Signed-off-by: Peter Mitsis <[email protected] >
2016-04-24 21:56:06 -04:00
Echelon9
5d593f0df0
Plumb through is_minimum_GLSL_version()
2016-01-03 16:33:04 -05:00
MageKing17
64c9b272e7
Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
...
Conflicts:
code/pilotfile/pilotfile.cpp
2015-08-19 11:53:25 -07:00
Goober5000
bd3cd7eb18
Merge pull request #195 from Echelon9/fix/sort-uniq-includes
...
Review and refactor #include's
2015-08-19 00:05:02 -04:00
MageKing17
dc80ae0c9a
Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
...
Conflicts:
code/ship/ship.cpp
2015-08-06 00:25:42 -07:00
Echelon9
aae7c47748
Fix: lab/lab.cpp:943:9: warning: declaration of ‘j’ shadows a previous local [-Wshadow]
2015-07-06 21:14:45 +10:00
Echelon9
c220480075
Fix: lab/lab.cpp:2497:45: warning: declaration of ‘color’ shadows a global declaration [-Wshadow]
2015-07-05 00:40:13 +10:00
Echelon9
e613f4db7d
Simplify duplicative lab/ includes, which are in lab/wmcgui.h
2015-06-22 20:24:30 +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
MageKing17
ab9d2e20fb
Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
...
Conflicts:
code/ship/ship.cpp
2015-06-18 14:40:53 -07:00
Cliff Gordon
2d662075c3
Merge remote-tracking branch 'origin/master' into fix/triplemon_hud
2015-06-17 10:11:57 -05:00
SamuelCho
2ba39e6b6d
Refactored how color setting is done for model rendering. Fixes Mantis 3163.
2015-05-29 21:54:33 -07:00
MageKing17
7e696a55d2
Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
...
Also added model_icon_angles to the ship_info() constructor, and model_icon_angles, thruster_glow_noise_mult, and min_engine_vol to ship_info::clone() and and ship_info::move().
Conflicts:
code/ship/ship.cpp
code/ship/ship.h
2015-05-28 23:49:33 -07:00
Lari Nieminen
72a082c9eb
Added a $Thruster Glow Noise Mult ship table entry for decreasing/increasing the effect of noise applied to the glow radius.
2015-05-23 00:11:43 +03:00
Cliff Gordon
a4c1f89720
Merge remote-tracking branch 'origin/master' into fix/triplemon_hud
...
Conflicts:
code/freespace2/freespace.cpp
2015-05-20 17:15:15 -05:00
MageKing17
764c1ab03f
Fix F3 lab using old idx value.
...
This was causing everything to use the Ship_info index of the size of the species vector; for FS2, that meant 3, which meant GTF Ares.
2015-05-18 10:09:29 -07:00
MageKing17
274a32e1ac
Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
...
Conflicts:
code/model/modelread.cpp
code/ship/ship.h
2015-05-12 19:22:58 -07:00
SamuelCho
90c8025588
Code cleanup before the big soft shadows and deferred lighting merge into master.
2015-05-08 21:55:28 -07:00
SamuelCho
094c5fe302
Resolve faster ibx and improved profiling merges.
2015-05-08 20:53:59 -07:00
Lari Nieminen
ce853a5f07
Added a "Show Destroyed Subsystems" flag to ship lab for viewing -destroyed submodels.
2015-05-08 01:20:58 +03:00
Cliff Gordon
0ce31bf471
[fix/triplemon_hud] Yarn's triple-monitor fix, see http://www.hard-light.net/forums/index.php?topic=89262.0 . Patch tweaked to work around changes in 9aed627.
2015-05-06 10:40:45 -05:00
MageKing17
202bd3a5dc
Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
2015-05-05 14:39:01 -07:00
Swifty
c620372357
Soft shadows, deferred lighting, and various major graphics optimizations.
2015-05-02 14:35:37 -07:00
asarium
a7398d7f5c
Fix for Coverity 1093689: Resource leak
2015-05-02 18:19:28 +02:00
MageKing17
1591237acf
Reverting recent string of commits.
...
Since they didn't go through code review (and break compilation), reverting the recent string of commits (just used "git revert -n 5042c44..05b4635").
2015-04-29 16:19:59 -07:00
zookeeper
400fd0f9a8
Fixed $Thruster Glow Noise Mult not having effect in the ship lab.
...
git-svn-id: svn://svn.icculus.org/fs2open/branches/zookeeper@10789 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 23:07:41 +03:00
MageKing17
bc0c7cf4c5
Vectorization of Ship_info.
...
Converts Ship_info from a ship_info[] to an SCP_vector<ship_info>. ship_info now has proper constructors, assignment operators, and a destructor. Num_ship_classes removed; various references to Num_ship_classes and/or MAX_SHIP_CLASSES (which remains for various other structures which need it) changed to Ship_info.size() instead.
This doesn't make the ship class limit dynamic, but it is a preparatory step to get there.
2015-04-27 00:01:22 -07:00
The_E
d3089bb406
Fix for Mantis 2882 by Mageking17 (change-team-color with None color results in error)
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10914 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-14 19:02:32 +10:00
chief1983
ae351d2924
Fix Mantis 2886 - Option to render External weapon models, besides Tech models, in Weapon lab, from FUBAR.
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10907 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-14 19:02:31 +10:00
Echelon9
bc568a9149
Address clang warning - lab/lab.cpp:912:8: warning: declaration shadows a local variable [-Wshadow]
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10881 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-14 19:02:30 +10:00
The_E
6e91857745
From Yarn: Fixes interface graphics scaling issues. If, for some reason, you want to have the interface graphics stretched, use the -stretch_menu commandline flag.
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10544 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-30 12:39:54 +10:00
Wanderer
ca0bcd5dbf
Fix for Mantis #2806 - added option to rotate the turrets according to 'initial' state animation code in the lab - option enabled by default but can be toggled via render options
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10022 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-10 18:28:58 +10:00
Goober5000
6836199eeb
ship_subsys is now a class
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10021 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-10 18:28:58 +10:00
Wanderer
6cbc4f78c4
Fix to prevent invalid weapon bitmap references from being created in the lab.
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10016 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-10 18:28:57 +10:00