Commit graph

104 commits

Author SHA1 Message Date
Areloch 8eb442490a Updates to component classes -
Shift from ghosted components to entity-managed for networking
Initial implementation of Systems through the Mesh Component
2018-01-28 14:57:02 -06:00
Lukas Joergensen e7414e95a8 Fix minor errors in console function definitions 2017-12-08 21:08:35 +01:00
Areloch aa77d49e26 Merge pull request #2095 from Areloch/SetForwardVector
Enables setting the forward vector of a Scene Object
2017-10-26 02:41:52 -05:00
Areloch 749797dc4f Corrected documentation. 2017-10-17 21:00:42 -05:00
Areloch df9deea1a8 Removes Entity/Component stuff from being behind an experimental flag. 2017-10-15 06:03:59 -05:00
Areloch 4bcc97379c Enables setting the forward vector of a Scene Object 2017-10-15 03:49:18 -05:00
Areloch 35d649b57e Merge pull request #2056 from Bloodknight/afx_merge_main
Afx merge main
2017-10-11 08:47:47 -05:00
Marc Chapman 18d42b539b radius-search -- Expose search-list used for determining area damage. 2017-07-27 00:16:13 +01:00
Marc Chapman 442b200ef6 obj-select -- object selection functionality
is-camera -- Adds a test for determining if object is a camera.
cam-speed -- added method for getting the camera movement speed.
zoned-in -- connection is flagged as "zoned-in" when client is fully connected and user can interact with it.
2017-07-26 23:59:44 +01:00
Azaezel 6813f255d0 method to make sure we're not getting pixel shader inputs mixed with outputs. 2017-07-09 15:15:30 -05:00
Areloch 0801a3cca8 Implementation of sRGB image support. Overhauls the linearization setup to utilize the sRGB image types, as well as refactors the use of ColorF and ColorI to be properly internally consistent. ColorIs are used only for front-facing/editing/UI settings, and ColorFs, now renamed to LinearColorF to reduce confusion of purpose, are used for color info in the engine itself. This avoids confusing and expensive conversions back and forth between types and avoids botches with linearity. Majority work done by @rextimmy 2017-06-23 11:36:20 -05:00
Areloch 7e5e3b5105 Removes Direct3D9 functionality. 2017-05-28 16:51:31 -05:00
Areloch 19dcfde60f Merge pull request #1984 from FooBarbarians/fix-1912
Reordering initialization methods #1912
2017-04-26 01:11:51 -05:00
Masquara 970dd5c477 Reordering initialization methods #1912 2017-04-19 14:02:45 -04:00
Areloch 26fd24fbab Removes bits of code and includes that are based on old 360, xbox and PS3 flags that are no longer needed. 2017-04-08 20:30:57 -05:00
Areloch 0c6174b045 Merge pull request #1920 from elfprince13/variadicConsoleTemplates
Variadic console templates
2017-01-12 23:32:03 -06:00
Thomas "elfprince13" Dickerson 1c2b096a72 Whitespace consistency 2017-01-06 23:10:14 -05:00
Thomas "elfprince13" Dickerson 88106f9032 Fixed type inference for nulls in console functions 2017-01-06 17:18:37 -05:00
Azaezel dd071484da Merge branch 'development' of https://github.com/GarageGames/Torque3D into andOrMaybe
Conflicts:
	Engine/source/T3D/staticShape.cpp
2016-12-20 22:50:28 -06:00
Azaezel 1f6e66a1d7 directional coloration for pathnodes, as well as enlarges both the look and handle size for ease of use. 2016-12-01 00:55:27 -06:00
Anis 60e258e5a9 Merge pull request #1806 from Azaezel/byeByeVarVar2
more unused variable cleanups
2016-10-23 21:04:36 +02:00
Areloch 6cc7bcd2e0 Merge pull request #1805 from Azaezel/startRightEndRight
clang: constructor initialization order
2016-10-19 08:39:12 -05:00
Areloch 74c67e8409 Merge pull request #1814 from Azaezel/unstrungHeros
garbage char in string
2016-10-18 22:46:29 -05:00
Azaezel c5fa0557b5 garbage char in string 2016-10-18 11:44:25 -05:00
Areloch 121d65215e Tweaks any enums that use uint_max values so that they have hard types to avoid any compiler kerfluffles with C++11 value narrowing, specifically pertaining to clang. 2016-10-17 01:00:12 -05:00
Azaezel 1ee127b753 more unused variable cleanups 2016-10-16 14:41:34 -05:00
Azaezel fbfd3ed8ed clang: constructor initialization order
while not a major issue per-se, the sheer number of times the engine has to jump back in memory and backfill data in a given class can add up. First run of... many.,
2016-10-14 18:16:55 -05:00
Azaezel cc9955e102 unused variable cleanup 2016-10-14 17:49:56 -05:00
Azaezel c57b1a8b70 clang reports: unclear || + && and &+| mixes. 2016-10-14 17:26:13 -05:00
James Urquhart 1198932e87 Basic fix for reflections in both stereo rendering modes 2016-09-11 22:42:42 +01:00
James Urquhart de48afc00c USe correct frustum projections in reflections in separate rt mode 2016-09-11 22:42:42 +01:00
James Urquhart 784f6f92d8 Fix lens flare in side-by-side view 2016-09-11 22:42:42 +01:00
James Urquhart f91aa639d6 Remove projection offset, add the hmd head matrix. Also tidy up a few things. 2016-09-11 22:42:42 +01:00
James Urquhart 3dc2100765 Ignore alpha when rendering debug texture 2016-09-11 22:42:42 +01:00
Areloch b7882e7280 Merge pull request #1653 from Areloch/twiLightZone
Corrects culling of point/spot lights
2016-06-21 05:10:53 -05:00
OTHGMars 172e62a8f1 Mount Process Order Fix 2
Added a check to SceneObject::setProcessTick() to prevent objects that have mounts from being removed from the process list so the processAfter chain of the mounted objects is not broken.
2016-06-17 10:36:29 -05:00
Areloch dfb8f4f5e5 Makes point and spot lights be correctly culled with zoning like other objects. 2016-06-17 00:47:46 -05:00
Areloch 3a73344abb Resolves merging-order conflicts for the vehicle physics PR, as well as correcting cmake not blacklisting the componentGroup files if TORQUE_EXPERIMENTAL_EC was flipped off. 2016-06-05 19:17:34 -05:00
Areloch ec8882c3c8 Ensuring all names are the correct casing for Linux 2016-05-26 01:37:14 -05:00
Areloch b04ad52b5d Ensure that inclusion of any entity/component stuff is properly bracketed with the preprocessor check. 2016-05-15 10:11:46 -05:00
Areloch b3b50abd9b Integrates components into the update and render loop. 2016-05-14 12:40:13 -05:00
Azaezel bac14875f4 allows navmeshes to generate for most scene objects, and adds a NavMeshIgnore method for object-instances to filter them out. 2016-04-04 09:38:24 -05:00
rextimmy 41e5caf22b Direct3D11 Engine/source changes 2016-03-20 21:52:11 +10:00
Azaezel 8c5810adad The final step (barring any overlooked missing bits, requested refactors, and of course, rolling in dependencies already submitted as PRs) consists of:
renderPrePassMgr.cpp related:
A) shifting .addFeature( MFT_XYZ); calls from ProcessedShaderMaterial::_determineFeatures to ProcessedPrePassMaterial::_determineFeatures
B) mimicking the "// set the XXX if different" entries from RenderMeshMgr::render in RenderPrePassMgr::render
C) fleshing out ProcessedPrePassMaterial::getNumStages() so that it shares a 1:1 correlation with ProcessedShaderMaterial::getNumStages()
D) causing inline void Swizzle<T, mapLength>::ToBuffer( void *destination, const void *source, const dsize_t size )  to silently fail rather than fatally assert if a source or destination buffer is not yet ready to be filled. (support for #customTarget scripted render targets)

Reflections:
A) removing reflectRenderState.disableAdvancedLightingBins(true); entries. this would otherwise early out from prepass and provide no color data whatsoever.
B) removing the fd.features.addFeature( MFT_ForwardShading ); entry forcing all materials to be forward lit when reflected.
C) 2 things best described bluntly as working hacks:
C1) when reflected, a scattersky is rotated PI along it's z then x axis in order to draw properly.
C2) along similar lines, in terraincellmaterial, we shut off culling if it's a prepass material.

Skies: scattersky is given a pair of rotations for reflection purposes, all sky objects are given a z value for depth testing.
2016-02-16 02:50:49 -06:00
Azaezel 2753f562e8 shadow caching
SPECIAL NOTE: highly suggest https://github.com/GarageGames/Torque3D/pull/1441 or a variation thereof to prevent debug spew and false-postives for occlusion results.

With significant research, development and prototyping assistance from both @andr3wmac (shaders and partial hook work), and @LuisAntonRebollo (additional culling)

System operates as follows:
1) materials are given an additional castDynamicShadows boolean entry. (Default at time of writing is true by request. Personal usage at time of writing defaults to false. value is default-initialized in materialDefinition.cpp. script/gui exposed)
2) lights are given a staticRefreshFreq and dynamicRefreshFreq (in milliseconds). script/gui exposed
3) materials are (effectively) sorted into dynamic and static shadowmap render lists based on flag. (see shadowMapPass.cpp)
4) initial shadowmaps are generated for each light and 'list'.
5) as each refreshFreq times out, the relevant shadowmap for a given light is refreshed.

Special notes:
dynamicRefreshFreq for all lights is set to a (script exposed) 8MS refresh timer.
StaticRefreshFreq for the lions share of lights defaults to 250 MS (1/4 of a second)
scattersky's embedded light, which is intended to operate in a mobile manner, defaults to 8
to reiterate, these are all customizable per-light via script/inspector gui in the case of alternate project needs.
2015-10-13 18:12:19 -05:00
Areloch bedc79aacb Merges in Monkey's fixes PR with a resolution for a conflict 2015-09-03 22:58:57 -05:00
Daniel Buckmaster c2e5dc3345 Merge remote-tracking branch 'bpay/clang-cl-build-fixes' into development
Conflicts:
	Engine/source/T3D/shapeBase.h
2015-07-17 16:55:12 +10:00
Areloch 2002d74b78 Issue found with PVS-Studio:
Many instances of a function or expression being used repeatedly, which can lower performance.

Fixed it in these cases by creating on local var, reference or pointer that's used instead.
2015-07-13 22:51:17 -05:00
Raul Ferriz 5ef130d581 Fixed some random Worder warnings 2015-07-03 15:52:38 +02:00
Daniel Buckmaster 6b9e5dd15e Merge pull request #1330 from jamesu/stereo_render_fix
Basic fix for stereo rendering without a display device
2015-07-02 23:45:10 +10:00