Merge branch 'master' into BoxModelCollision
# Conflicts: # include/Engine/Collision/CollisionSystem.h # src/Engine/Collision/CollisionSystem.cpp
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
<xs:include schemaLocation="Components/PointLight.xsd"/>
|
||||
<xs:include schemaLocation="Components/DirectionalLight.xsd"/>
|
||||
<xs:include schemaLocation="Components/Trigger.xsd"/>
|
||||
<xs:include schemaLocation="Components/ExplosionEffect.xsd"/>
|
||||
<xs:include schemaLocation="Components/Health.xsd"/>
|
||||
<xs:include schemaLocation="Components/CapturePoint.xsd"/>
|
||||
<xs:include schemaLocation="Components/Listener.xsd"/>
|
||||
@@ -27,4 +28,5 @@
|
||||
<xs:include schemaLocation="Components/Animation.xsd"/>
|
||||
<xs:include schemaLocation="Components/Fill.xsd"/>
|
||||
<xs:include schemaLocation="Components/Lifetime.xsd"/>
|
||||
<xs:include schemaLocation="Components/HiddenForLocalPlayer.xsd"/>
|
||||
</xs:schema>
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<Animation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Animation.xsd">
|
||||
<Name></Name>
|
||||
<Time>0</Time>
|
||||
<Speed>0</Speed>
|
||||
<Loop>true</Loop>
|
||||
|
||||
@@ -2,18 +2,7 @@
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||
|
||||
<xs:complexType name="TeamEnum" mixed="true">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="t:enum">
|
||||
<xs:choice>
|
||||
<xs:element name="Spectator" type="xs:integer" fixed="1" minOccurs="0"/>
|
||||
<xs:element name="Red" type="xs:integer" fixed="2" minOccurs="0"/>
|
||||
<xs:element name="Blue" type="xs:integer" fixed="3" minOccurs="0"/>
|
||||
</xs:choice>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:include schemaLocation="../Types/TeamEnum.xsd"/>
|
||||
|
||||
<xs:element name="CapturePoint">
|
||||
<xs:annotation>
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<ExplosionEffect xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ExplosionEffect.xsd">
|
||||
<ExplosionOrigin X="0" Y="0" Z="0"/>
|
||||
<TimeSinceDeath>0</TimeSinceDeath>
|
||||
<ExplosionDuration>2</ExplosionDuration>
|
||||
<!--<Gravity>1</Gravity>-->
|
||||
<!--<GravityForce>1</GravityForce>-->
|
||||
<!--<ObjectRadius>2</ObjectRadius>-->
|
||||
<EndColor R="0" G="0" B="0" A="0"/>
|
||||
<Randomness>0</Randomness>
|
||||
<RandomnessScalar>1</RandomnessScalar>
|
||||
<Velocity X="2" Y="2"/>
|
||||
<ColorByDistance>0</ColorByDistance>
|
||||
<!--<ReverseAnimation>0</ReverseAnimation>-->
|
||||
<!--<Wireframe>0</Wireframe>-->
|
||||
<ExponentialAccelaration>0</ExponentialAccelaration>
|
||||
</ExplosionEffect>
|
||||
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||
|
||||
<xs:element name="ExplosionEffect">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A component that trigger the death effect</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="ExplosionOrigin" type="t:Vector" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>The position in which to spawn the component</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="TimeSinceDeath" type="t:double" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Seconds since death</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ExplosionDuration" type="t:double" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>How many seconds the death animation should be</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<!--<xs:element name="Gravity" type="t:bool" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Enable/disable gravity</xs:documentation></xs:annotation>
|
||||
</xs:element>-->
|
||||
<!--<xs:element name="GravityForce" type="t:double" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>The force of the gravity</xs:documentation></xs:annotation>
|
||||
</xs:element>-->
|
||||
<!--<xs:element name="ObjectRadius" type="t:double" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Object radius (TO BE REMOVED AND AUTOMATED)</xs:documentation></xs:annotation>
|
||||
</xs:element>-->
|
||||
<xs:element name="EndColor" type="t:Color" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>The tint the polys end with</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Randomness" type="t:bool" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Add some randomness to the explosion</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="RandomnessScalar" type="t:double" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Alter the power of the randomness</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Velocity" type="t:Vector" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>The velocity factors (start/end)</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ColorByDistance" type="t:bool" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Change the color by its moved distance instead of by its time</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<!--<xs:element name="ReverseAnimation" type="t:bool" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Implosions are cooler</xs:documentation></xs:annotation>
|
||||
</xs:element>-->
|
||||
<!--<xs:element name="Wireframe" type="t:bool" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Enable/disable wireframe</xs:documentation></xs:annotation>
|
||||
</xs:element>-->
|
||||
<xs:element name="ExponentialAccelaration" type="t:bool" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Linear/Exponential accelaration</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<Listener xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Listener.xsd"/>
|
||||
<HealthHUD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="HealthHUD.xsd"/>
|
||||
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<HiddenForLocalPlayer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="HiddenForLocalPlayer.xsd"/>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||
|
||||
<xs:element name="HiddenForLocalPlayer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Used to make the entity invisible if it's parented to the current local player entity (for first person player model and such)</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<Lifetime xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Animation.xsd">
|
||||
<Lifetime xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Lifetime.xsd">
|
||||
<Lifetime>0</Lifetime>
|
||||
</Animation>
|
||||
</Lifetime>
|
||||
@@ -2,5 +2,10 @@
|
||||
<Model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Model.xsd">
|
||||
<Resource></Resource>
|
||||
<Color R="1" G="1" B="1" A="1"/>
|
||||
<Transparent>false</Transparent>
|
||||
<Visible>true</Visible>
|
||||
<DiffuseTexture>true</DiffuseTexture>
|
||||
<NormalMap>true</NormalMap>
|
||||
<SpecularMap>true</SpecularMap>
|
||||
<GlowMap>true</GlowMap>
|
||||
</Model>
|
||||
@@ -15,8 +15,23 @@
|
||||
<xs:element name="Color" type="t:Color" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Color tint</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Transparent" type="t:bool" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Wether the model is transparent or not</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Visible" type="t:bool" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Wether the model is visible or not</xs:documentation></xs:annotation>
|
||||
<xs:annotation><xs:documentation>Whether the model is visible or not</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="DiffuseTexture" type="t:bool" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Whether the model should use the Diffuse texture or not</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="NormalMap" type="t:bool" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Whether the model should use the Normalmap or not</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="SpecularMap" type="t:bool" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Whether the model should use the Specularmap or not</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="GlowMap" type="t:bool" minOccurs="0">
|
||||
<xs:annotation><xs:documentation>Whether the model should use the Glowmap or not</xs:documentation></xs:annotation>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
|
||||
@@ -2,18 +2,7 @@
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||
|
||||
<xs:complexType name="TeamEnum" mixed="true">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="t:enum">
|
||||
<xs:choice>
|
||||
<xs:element name="Spectator" type="xs:integer" fixed="1" minOccurs="0"/>
|
||||
<xs:element name="Red" type="xs:integer" fixed="2" minOccurs="0"/>
|
||||
<xs:element name="Blue" type="xs:integer" fixed="3" minOccurs="0"/>
|
||||
</xs:choice>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:include schemaLocation="../Types/TeamEnum.xsd"/>
|
||||
|
||||
<xs:element name="Team">
|
||||
<xs:annotation>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
</Components>
|
||||
|
||||
<Children>
|
||||
<Entity>
|
||||
<Entity name="Ground">
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||
@@ -18,69 +18,51 @@
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
<Entity>
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>An error</Resource>
|
||||
</c:Model>
|
||||
<c:Transform>
|
||||
<Position X="1" Y="1" Z="0"/>
|
||||
<Orientation X="0" Y="0.785390019" Z="0"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children>
|
||||
<Entity>
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>An error</Resource>
|
||||
</c:Model>
|
||||
<c:Transform>
|
||||
<Position X="2" Y="0" Z="0"/>
|
||||
<Orientation X="0" Y="0.785390019" Z="0"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
</Children>
|
||||
</Entity>
|
||||
<Entity>
|
||||
<Components>
|
||||
<c:Camera/>
|
||||
<c:Listener/>
|
||||
<c:Transform>
|
||||
<Position X="1.36896265" Y="4.4259491" Z="10.6640663"/>
|
||||
<Position X="1.36896265" Y="4.10503054" Z="10.6640663"/>
|
||||
<Orientation X="-0.0349078141" Y="0.157154545" Z="-2.60252193e-07"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
<Entity>
|
||||
<Entity name="DirectionalLight">
|
||||
<Components>
|
||||
<c:DirectionalLight/>
|
||||
<c:DirectionalLight>
|
||||
<Intensity>0.80000001192092896</Intensity>
|
||||
</c:DirectionalLight>
|
||||
<c:Model>
|
||||
<Resource>Models/DirectionalLightWidget.mesh</Resource>
|
||||
</c:Model>
|
||||
<c:RaptorCopter>
|
||||
<Speed>1.0499999523162842</Speed>
|
||||
<Axis X="0" Y="1" Z="0"/>
|
||||
</c:RaptorCopter>
|
||||
<c:Transform>
|
||||
<Position X="2.1529963" Y="6.59221172" Z="0.169116676"/>
|
||||
<Orientation X="4.32000017" Y="4.6340003" Z="0"/>
|
||||
<Orientation X="4.16300011" Y="1422.89319" Z="0"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
<Entity>
|
||||
<Entity name="AssaultTPose">
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>Models/Assault.mesh</Resource>
|
||||
</c:Model>
|
||||
<c:Transform>
|
||||
<Position X="-2.00568962" Y="0.527161121" Z="0"/>
|
||||
<Position X="-1.68900967" Y="0.527161121" Z="-1.59648728"/>
|
||||
<Orientation X="0" Y="1.64900005" Z="0"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children>
|
||||
<Entity>
|
||||
<Entity name="SecondaryWeapon">
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>Models/SecondaryWeapon.fbx</Resource>
|
||||
<Resource>Models/SecondaryWeapon.mesh</Resource>
|
||||
</c:Model>
|
||||
<c:Transform>
|
||||
<Position X="-0.546139359" Y="0.853016734" Z="0.177482292"/>
|
||||
@@ -91,17 +73,219 @@
|
||||
</Entity>
|
||||
</Children>
|
||||
</Entity>
|
||||
<Entity>
|
||||
<Entity name="AnimationGroupOrigin">
|
||||
<Components>
|
||||
<c:Transform>
|
||||
<Position X="1.11190474" Y="0.490183681" Z="0"/>
|
||||
<Orientation X="0" Y="1.02100003" Z="0"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children>
|
||||
<Entity name="RunAnim">
|
||||
<Components>
|
||||
<c:Animation>
|
||||
<Name>Run</Name>
|
||||
<Time>0.62051775215976157</Time>
|
||||
<Speed>1</Speed>
|
||||
</c:Animation>
|
||||
<c:Model>
|
||||
<Resource>models/AssaultAnimated.mesh</Resource>
|
||||
</c:Model>
|
||||
<c:Transform>
|
||||
<Position X="0.786919653" Y="0" Z="0"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
<Entity name="Walkanim">
|
||||
<Components>
|
||||
<c:Animation>
|
||||
<Name>Walk</Name>
|
||||
<Time>0.28779680073140668</Time>
|
||||
<Speed>1</Speed>
|
||||
</c:Animation>
|
||||
<c:Model>
|
||||
<Resource>models/AssaultAnimated.mesh</Resource>
|
||||
</c:Model>
|
||||
<c:Transform/>
|
||||
</Components>
|
||||
<Children>
|
||||
<Entity name="UnitSphere">
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||
<Color A="0.294117659" B="19.6078434" G="1.17647064" R="0.0392156877"/>
|
||||
<Transparent>true</Transparent>
|
||||
</c:Model>
|
||||
<c:Transform>
|
||||
<Position X="0" Y="0.754540265" Z="0"/>
|
||||
<Scale X="0.800000012" Y="1.9000001" Z="1"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
</Children>
|
||||
</Entity>
|
||||
</Children>
|
||||
</Entity>
|
||||
<Entity name="Log">
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||
<Resource>Models/Log.mesh</Resource>
|
||||
</c:Model>
|
||||
<c:Transform>
|
||||
<Position X="0" Y="3.70000029" Z="0"/>
|
||||
<Position X="-4" Y="0.698000014" Z="-1"/>
|
||||
<Orientation X="0" Y="2.74900007" Z="0"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
<Entity name="SpheresOrigin">
|
||||
<Components>
|
||||
<c:Transform>
|
||||
<Position X="6.80000019" Y="4.9000001" Z="-5.9000001"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children>
|
||||
<Entity name="NormalSphere">
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>Models/NormalMapSphere.mesh</Resource>
|
||||
</c:Model>
|
||||
<c:Transform>
|
||||
<Position X="1.82700014" Y="0" Z="-0.166000009"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
<Entity name="SpecularSphere">
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>Models/SpecularMapSphere.mesh</Resource>
|
||||
</c:Model>
|
||||
<c:Transform>
|
||||
<Position X="-1.06487739" Y="0" Z="1.52336037"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children>
|
||||
<Entity name="Rotationpoint">
|
||||
<Components>
|
||||
<c:RaptorCopter>
|
||||
<Speed>1</Speed>
|
||||
<Axis X="0.699999988" Y="1" Z="0.300000012"/>
|
||||
</c:RaptorCopter>
|
||||
<c:Transform>
|
||||
<Orientation X="404.200684" Y="577.428955" Z="173.228897"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children>
|
||||
<Entity name="PointLight">
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||
<Color A="1" B="0" G="3.92156863" R="3.92156863"/>
|
||||
</c:Model>
|
||||
<c:PointLight>
|
||||
<Radius>3</Radius>
|
||||
<Intensity>1.1399998664855957</Intensity>
|
||||
</c:PointLight>
|
||||
<c:Transform>
|
||||
<Position X="0.600000024" Y="0.5" Z="0"/>
|
||||
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
</Children>
|
||||
</Entity>
|
||||
</Children>
|
||||
</Entity>
|
||||
<Entity name="GlowMap">
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>Models/IncandescenceMapSphere.mesh</Resource>
|
||||
</c:Model>
|
||||
<c:Transform>
|
||||
<Position X="-1.10000002" Y="0" Z="-1.80000007"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
<Entity name="CombinedSpheres">
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>models/NormSpecIncdMapSphere.mesh</Resource>
|
||||
</c:Model>
|
||||
<c:Transform/>
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
<Entity name="RotationPoint">
|
||||
<Components>
|
||||
<c:RaptorCopter>
|
||||
<Speed>1</Speed>
|
||||
<Axis X="1" Y="1" Z="1"/>
|
||||
</c:RaptorCopter>
|
||||
<c:Transform>
|
||||
<Orientation X="53.9495354" Y="53.9495354" Z="53.9495354"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children>
|
||||
<Entity name="PointLight">
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||
<Color A="1" B="0" G="3.92156863" R="3.92156863"/>
|
||||
</c:Model>
|
||||
<c:PointLight>
|
||||
<Radius>3</Radius>
|
||||
<Intensity>1.1399998664855957</Intensity>
|
||||
</c:PointLight>
|
||||
<c:Transform>
|
||||
<Position X="-1.70000005" Y="0" Z="0"/>
|
||||
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
<Entity name="PointLight">
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||
<Color A="1" B="0" G="3.92156863" R="3.92156863"/>
|
||||
</c:Model>
|
||||
<c:PointLight>
|
||||
<Radius>5.0100002288818359</Radius>
|
||||
<Intensity>0.69999998807907104</Intensity>
|
||||
</c:PointLight>
|
||||
<c:Transform>
|
||||
<Position X="0.900000036" Y="1.10000002" Z="0"/>
|
||||
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
<Entity name="PointLight">
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||
<Color A="1" B="0" G="3.92156863" R="3.92156863"/>
|
||||
</c:Model>
|
||||
<c:PointLight>
|
||||
<Radius>4</Radius>
|
||||
<Intensity>0.80000001192092896</Intensity>
|
||||
</c:PointLight>
|
||||
<c:Transform>
|
||||
<Position X="0.400000006" Y="-1" Z="-1.50000012"/>
|
||||
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
<Children/>
|
||||
</Entity>
|
||||
</Children>
|
||||
</Entity>
|
||||
</Children>
|
||||
</Entity>
|
||||
</Children>
|
||||
|
||||
</Entity>
|
||||
|
||||
@@ -25,10 +25,16 @@
|
||||
<Entity>
|
||||
<Components>
|
||||
<c:Animation>
|
||||
<Name>Crouch Walk</Name>
|
||||
<Time>701.10570384634161</Time>
|
||||
<Speed>32</Speed>
|
||||
<Name>Run</Name>
|
||||
<Time>0.56277947897317659</Time>
|
||||
<Speed>1</Speed>
|
||||
</c:Animation>
|
||||
<c:ExplosionEffect>
|
||||
<Velocity X="0" Y="1.10000002" Z="3.30000019"/>
|
||||
<ExplosionOrigin X="-0.600000024" Y="1" Z="0"/>
|
||||
<TimeSinceDeath>0.95625903442123672</TimeSinceDeath>
|
||||
<EndColor A="0" B="0.815686285" G="1" R="0"/>
|
||||
</c:ExplosionEffect>
|
||||
<c:Model>
|
||||
<Resource>Models/AssaultAnimated.mesh</Resource>
|
||||
<Color A="1" B="392156.875" G="1" R="1"/>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
</Team>
|
||||
</c:Team>
|
||||
<c:Transform>
|
||||
<Orientation X="0" Y="2.24449515" Z="0"/>
|
||||
<Position X="8.60201447e-23" Y="0" Z="3.9201616e-23"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
|
||||
@@ -141,9 +141,10 @@
|
||||
<Components>
|
||||
<c:Animation>
|
||||
<Name>Hold Pos</Name>
|
||||
<Time>0.9779997896222552</Time>
|
||||
<Time>0.73515426169631848</Time>
|
||||
<Speed>1</Speed>
|
||||
</c:Animation>
|
||||
<c:HiddenForLocalPlayer/>
|
||||
<c:Model>
|
||||
<Resource>Models/AssaultAnimated.mesh</Resource>
|
||||
<Color A="1" B="0" G="0" R="1"/>
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<Entity name="PointLight" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||
|
||||
<Components>
|
||||
<c:Model>
|
||||
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||
<Color A="1" B="0" G="3.92156863" R="3.92156863"/>
|
||||
</c:Model>
|
||||
<c:PointLight>
|
||||
<Radius>3</Radius>
|
||||
<Intensity>1.1399998664855957</Intensity>
|
||||
</c:PointLight>
|
||||
<c:Transform>
|
||||
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||
</c:Transform>
|
||||
</Components>
|
||||
|
||||
<Children/>
|
||||
|
||||
</Entity>
|
||||
@@ -18,6 +18,23 @@
|
||||
</c:Transform>
|
||||
<c:Camera>
|
||||
</c:Camera>
|
||||
<Orientation X="0.0" Y="0.0" Z="0"/>
|
||||
<c:ExplosionEffect>
|
||||
<ExplosionOrigin X="0" Y="0" Z="0"/>
|
||||
<TimeSinceDeath>0</TimeSinceDeath>
|
||||
<ExplosionDuration>2</ExplosionDuration>
|
||||
<!--<Gravity>1</Gravity>-->
|
||||
<!--<GravityForce>1</GravityForce>-->
|
||||
<!--<ObjectRadius>2</ObjectRadius>-->
|
||||
<EndColor R="0" G="0" B="0" A="0"/>
|
||||
<Randomness>0</Randomness>
|
||||
<RandomnessScalar>1</RandomnessScalar>
|
||||
<Velocity X="2" Y="2"/>
|
||||
<ColorByDistance>0</ColorByDistance>
|
||||
<!--<ReverseAnimation>0</ReverseAnimation>-->
|
||||
<!--<Wireframe>0</Wireframe>-->
|
||||
<ExponentialAccelaration>0</ExponentialAccelaration>
|
||||
</c:ExplosionEffect>
|
||||
<c:Model>
|
||||
<Resource>Models/Camera.mesh</Resource>
|
||||
</c:Model>
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
<xs:element ref="c:Model" minOccurs="0"/>
|
||||
<xs:element ref="c:RaptorCopter" minOccurs="0"/>
|
||||
<xs:element ref="c:Player" minOccurs="0"/>
|
||||
<xs:element ref="c:ExplosionEffect" minOccurs="0"/>
|
||||
<xs:element ref="c:Camera" minOccurs="0"/>
|
||||
<xs:element ref="c:Text" minOccurs="0"/>
|
||||
<xs:element ref="c:AABB" minOccurs="0"/>
|
||||
@@ -33,6 +34,9 @@
|
||||
<xs:element ref="c:UniformScale" minOccurs="0"/>
|
||||
<xs:element ref="c:EditorWidget" minOccurs="0"/>
|
||||
<xs:element ref="c:Lifetime" minOccurs="0"/>
|
||||
<xs:element ref="c:HiddenForLocalPlayer" minOccurs="0"/>
|
||||
<xs:element ref="c:Fill" minOccurs="0"/>
|
||||
<xs:element ref="c:Animation" minOccurs="0"/>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
@@ -43,7 +47,7 @@
|
||||
<xs:element ref="Entity" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="EntityRef" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="file" type="xs:string" minOccurs="0"/>
|
||||
<xs:attribute name="file" type="xs:string"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
@@ -51,7 +55,7 @@
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
<xs:attribute ref="xml:base"/>
|
||||
<xs:attribute name="name" type="xs:string" minOccurs="0" default=""/>
|
||||
<xs:attribute name="name" type="xs:string" default=""/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" xmlns:t="types">
|
||||
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||
|
||||
<xs:complexType name="TeamEnum" mixed="true">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="t:enum">
|
||||
<xs:choice>
|
||||
<xs:element name="Spectator" type="t:int" fixed="1" minOccurs="0"/>
|
||||
<xs:element name="Red" type="t:int" fixed="2" minOccurs="0"/>
|
||||
<xs:element name="Blue" type="t:int" fixed="3" minOccurs="0"/>
|
||||
</xs:choice>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,25 @@
|
||||
#version 430
|
||||
|
||||
uniform mat4 M;
|
||||
uniform mat4 V;
|
||||
uniform mat4 P;
|
||||
uniform vec4 Color;
|
||||
|
||||
uniform sampler2D texture0;
|
||||
|
||||
in VertexData{
|
||||
vec3 Position;
|
||||
vec3 Normal;
|
||||
vec2 TextureCoordinate;
|
||||
vec4 DiffuseColor;
|
||||
vec4 ExplosionColor;
|
||||
}Input;
|
||||
|
||||
out vec4 fragmentColor;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 texel = texture2D(texture0, Input.TextureCoordinate);
|
||||
fragmentColor = texel * Input.DiffuseColor * Color + Input.ExplosionColor;
|
||||
}
|
||||
@@ -0,0 +1,179 @@
|
||||
#version 430
|
||||
|
||||
uniform mat4 M;
|
||||
uniform mat4 V;
|
||||
uniform mat4 P;
|
||||
uniform vec3 ExplosionOrigin;
|
||||
uniform float TimeSinceDeath;
|
||||
uniform float ExplosionDuration;
|
||||
uniform vec4 EndColor;
|
||||
uniform bool Randomness;
|
||||
uniform float RandomNumbers[50];
|
||||
uniform float RandomnessScalar;
|
||||
uniform vec2 Velocity;
|
||||
uniform bool ColorByDistance;
|
||||
uniform bool ExponentialAccelaration;
|
||||
|
||||
in VertexData{
|
||||
vec3 Position;
|
||||
vec3 Normal;
|
||||
vec2 TextureCoordinate;
|
||||
vec4 ExplosionColor;
|
||||
}Input[];
|
||||
|
||||
out VertexData{
|
||||
vec3 Position;
|
||||
vec3 Normal;
|
||||
vec2 TextureCoordinate;
|
||||
vec4 ExplosionColor;
|
||||
}Output;
|
||||
|
||||
layout(triangles) in;
|
||||
layout(triangle_strip, max_vertices = 3) out;
|
||||
|
||||
// returns a "random" number based on input parameter
|
||||
float GetRandomNumber(int polygon_index)
|
||||
{
|
||||
int randomIndex = int(mod(polygon_index, 50));
|
||||
|
||||
return RandomNumbers[randomIndex];
|
||||
}
|
||||
|
||||
float randomNumber = 0.0;
|
||||
float randomDistance = 0.0;
|
||||
|
||||
void main()
|
||||
{
|
||||
// calculate middle of vectors
|
||||
vec3 v1 = Input[1].Position - Input[0].Position;
|
||||
vec3 v2 = Input[2].Position - Input[0].Position;
|
||||
vec3 v3 = Input[2].Position - (v1 / 2);
|
||||
vec3 v4 = Input[1].Position - (v2 / 2);
|
||||
|
||||
// calculate intersection
|
||||
|
||||
// normalize direction
|
||||
vec3 dir1 = normalize(v1);
|
||||
vec3 dir2 = normalize(v2);
|
||||
|
||||
vec3 vecA = Input[2].Position - Input[1].Position; //o2 - o1
|
||||
vec3 vecB = cross(dir1, dir2);
|
||||
|
||||
mat3 matrisA = mat3(vecA, dir2, vecB);
|
||||
|
||||
float lengthA = length(vecB);
|
||||
lengthA = lengthA * lengthA;
|
||||
|
||||
float s = determinant(matrisA) / lengthA;
|
||||
|
||||
// center position of triangle
|
||||
vec3 centerOfTriangle = Input[1].Position + (s * dir1);
|
||||
|
||||
// center position of triangle to origin vector
|
||||
vec3 origin2TriangleCenterVector = centerOfTriangle - ExplosionOrigin;
|
||||
vec3 normalizedOrigin2TriangleCenterVector = normalize(origin2TriangleCenterVector);
|
||||
|
||||
// time percentage until end of explosion (0.0-1.0)
|
||||
float timePercetage = TimeSinceDeath / ExplosionDuration;
|
||||
|
||||
// get a random number if randomness is enabled, otherwise the random number will be zero and won't affect the other algorithms
|
||||
if (Randomness == true)
|
||||
{
|
||||
randomDistance = GetRandomNumber(gl_PrimitiveIDIn) * RandomnessScalar;
|
||||
}
|
||||
|
||||
vec2 randomVelocity = Velocity * (randomDistance + 1.0);
|
||||
|
||||
// accelaration to use on current frame. is a interpolation between start and end value
|
||||
float currentVelocity = mix(randomVelocity.x, randomVelocity.y, timePercetage);
|
||||
|
||||
if (ExponentialAccelaration == true)
|
||||
{
|
||||
currentVelocity = pow(currentVelocity, 2) / 2.0;
|
||||
}
|
||||
|
||||
// distance between origin and the center of the current triangle
|
||||
float origin2TriangleCenterDistance = length(origin2TriangleCenterVector);
|
||||
|
||||
// the distance from origin to the triangle center with eventual randomness added
|
||||
float fullDistanceWithRandomness = origin2TriangleCenterDistance + randomDistance;
|
||||
|
||||
// vector from the triangle center to the explosion's shockwave
|
||||
vec3 triangleCenter2ExplosionRadius = (normalizedOrigin2TriangleCenterVector * (TimeSinceDeath * currentVelocity)) - (normalizedOrigin2TriangleCenterVector * fullDistanceWithRandomness);
|
||||
|
||||
// if the triangle is inside the blast radius...
|
||||
if (fullDistanceWithRandomness <= (TimeSinceDeath * currentVelocity))
|
||||
{
|
||||
float maxRadius = max(TimeSinceDeath * currentVelocity, (ExplosionDuration * currentVelocity));
|
||||
|
||||
float a = (randomVelocity.y - randomVelocity.x) / ExplosionDuration;
|
||||
//float t = sqrt((2 * origin2TriangleCenterDistance) / a);
|
||||
|
||||
// if explosion color should be affected by distance instead of time...
|
||||
if (ColorByDistance == true)
|
||||
{
|
||||
// calculate the max distance (s) the triangle will move
|
||||
float s = (randomVelocity.x * ExplosionDuration) + (0.5 * a * pow(ExplosionDuration, 2));
|
||||
|
||||
Output.ExplosionColor = EndColor * (length(triangleCenter2ExplosionRadius) / s);
|
||||
}
|
||||
else
|
||||
{
|
||||
Output.ExplosionColor = EndColor * timePercetage;
|
||||
}
|
||||
|
||||
// for every vertex on the triangle...
|
||||
for (int i = 0; i < gl_in.length(); i++)
|
||||
{
|
||||
// move the triangle to the blast radius
|
||||
vec3 ExplodedPosition = Input[i].Position + triangleCenter2ExplosionRadius;
|
||||
|
||||
// pass through vertex data
|
||||
Output.Normal = Input[i].Normal;
|
||||
Output.Position = Input[i].Position;
|
||||
Output.TextureCoordinate = Input[i].TextureCoordinate;
|
||||
|
||||
// convert to model space for the gravity to always be in -y
|
||||
vec4 ExplodedPositionInModelSpace = M * vec4(ExplodedPosition, 1.0);
|
||||
|
||||
// if there is gravity, apply it
|
||||
//if (Gravity == true)
|
||||
//{
|
||||
// // ---DO THIS----> //ExplodedPositionInModelSpace.y = ExplodedPositionInModelSpace.y - TimeSinceHit;
|
||||
//
|
||||
// ExplodedPositionInModelSpace.y = ExplodedPositionInModelSpace.y - pow(TimeSinceDeath, 2);
|
||||
//}
|
||||
|
||||
// convert to screen space
|
||||
gl_Position = P*V * ExplodedPositionInModelSpace;
|
||||
EmitVertex();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// if explosion color should be affected by distance instead of time...
|
||||
if (ColorByDistance == true)
|
||||
{
|
||||
Output.ExplosionColor = vec4(0.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
Output.ExplosionColor = EndColor * timePercetage;
|
||||
}
|
||||
|
||||
// for every vertex on the triangle...
|
||||
for(int i = 0; i < gl_in.length(); i++)
|
||||
{
|
||||
// pass through vertex data
|
||||
Output.Normal = Input[i].Normal;
|
||||
Output.Position = Input[i].Position;
|
||||
Output.TextureCoordinate = Input[i].TextureCoordinate;
|
||||
|
||||
// no change in position, pass through vertex
|
||||
gl_Position = gl_in[i].gl_Position;
|
||||
EmitVertex();
|
||||
}
|
||||
}
|
||||
|
||||
//EndPrimitive();
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
#version 430
|
||||
|
||||
uniform mat4 M;
|
||||
uniform mat4 V;
|
||||
uniform mat4 P;
|
||||
|
||||
layout(location = 0) in vec3 Position;
|
||||
layout(location = 1) in vec3 Normal;
|
||||
layout(location = 2) in vec3 Tangent;
|
||||
layout(location = 3) in vec3 BiTangent;
|
||||
layout(location = 4) in vec2 TextureCoords;
|
||||
layout(location = 5) in vec4 DiffuseVertexColor;
|
||||
layout(location = 6) in vec4 SpecularVertexColor;
|
||||
layout(location = 7) in vec4 BoneIndices1;
|
||||
layout(location = 8) in vec4 BoneIndices2;
|
||||
layout(location = 9) in vec4 BoneWeights1;
|
||||
layout(location = 10) in vec4 BoneWeights2;
|
||||
|
||||
out VertexData{
|
||||
vec3 Position;
|
||||
vec3 Normal;
|
||||
vec2 TextureCoordinate;
|
||||
vec4 DiffuseColor;
|
||||
vec4 ExplosionColor;
|
||||
}Output;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = P*V*M * vec4(Position, 1.0);
|
||||
|
||||
Output.Position = Position;
|
||||
Output.TextureCoordinate = TextureCoords;
|
||||
Output.Normal = Normal;
|
||||
Output.DiffuseColor = DiffuseVertexColor;
|
||||
Output.ExplosionColor = vec4(0.0);
|
||||
}
|
||||
@@ -9,7 +9,9 @@ uniform vec2 ScreenDimensions;
|
||||
uniform vec4 FillColor;
|
||||
uniform float FillPercentage;
|
||||
layout (binding = 0) uniform sampler2D DiffuseTexture;
|
||||
layout (binding = 1) uniform sampler2D GlowMap;
|
||||
layout (binding = 1) uniform sampler2D NormalMapTexture;
|
||||
layout (binding = 2) uniform sampler2D SpecularMapTexture;
|
||||
layout (binding = 3) uniform sampler2D GlowMapTexture;
|
||||
|
||||
|
||||
#define TILE_SIZE 16
|
||||
@@ -49,7 +51,10 @@ layout (std430, binding = 4) buffer LightIndexBuffer
|
||||
in VertexData{
|
||||
vec3 Position;
|
||||
vec3 Normal;
|
||||
vec3 Tangent;
|
||||
vec3 BiTangent;
|
||||
vec2 TextureCoordinate;
|
||||
vec4 ExplosionColor;
|
||||
}Input;
|
||||
|
||||
out vec4 sceneColor;
|
||||
@@ -101,13 +106,21 @@ LightResult CalcDirectionalLightSource(vec4 direction, vec4 color, float intensi
|
||||
return result;
|
||||
}
|
||||
|
||||
vec4 CalcNormalMappedValue(vec3 normal, vec3 tangent, vec3 bitangent, vec2 textureCoordinate, sampler2D normalMap)
|
||||
{
|
||||
mat3 TBN = mat3(tangent, bitangent, normal);
|
||||
vec3 NormalMap = texture(normalMap, textureCoordinate).xyz * 2.0 - vec3(1.0);
|
||||
return vec4(TBN * normalize(NormalMap), 0.0);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 diffuseTexel = texture2D(DiffuseTexture, Input.TextureCoordinate);
|
||||
vec4 glowTexel = texture2D(GlowMap, Input.TextureCoordinate);
|
||||
vec4 glowTexel = texture2D(GlowMapTexture, Input.TextureCoordinate);
|
||||
vec4 specularTexel = texture2D(SpecularMapTexture, Input.TextureCoordinate);
|
||||
vec4 position = V * M * vec4(Input.Position, 1.0);
|
||||
vec4 normal = normalize(V * vec4(Input.Normal, 0.0));
|
||||
vec4 normal = V * CalcNormalMappedValue(Input.Normal, Input.Tangent, Input.BiTangent, Input.TextureCoordinate, NormalMapTexture);
|
||||
//vec4 normal = normalize(V * vec4(Input.Normal, 0.0));
|
||||
vec4 viewVec = normalize(-position);
|
||||
|
||||
vec2 tilePos;
|
||||
@@ -137,8 +150,8 @@ void main()
|
||||
totalLighting.Specular += light_result.Specular;
|
||||
}
|
||||
|
||||
//sceneColor += Input.DiffuseColor;
|
||||
vec4 color_result = DiffuseColor * (totalLighting.Diffuse + totalLighting.Specular) * diffuseTexel * Color;
|
||||
|
||||
vec4 color_result = (DiffuseColor + Input.ExplosionColor) * (totalLighting.Diffuse + (totalLighting.Specular * specularTexel)) * diffuseTexel * Color;
|
||||
|
||||
|
||||
float pos = ((P * vec4(Input.Position, 1)).y + 1.0)/2.0;
|
||||
@@ -146,27 +159,10 @@ void main()
|
||||
if(pos <= FillPercentage) {
|
||||
color_result += FillColor;
|
||||
}
|
||||
//bloomColor = vec4(0.3, 0.8, 0.6, 1.0);
|
||||
sceneColor = vec4(color_result.xyz, clamp(color_result.a, 0, 1));
|
||||
//These if statements should be removed if they are slow.
|
||||
color_result += glowTexel;
|
||||
|
||||
|
||||
|
||||
|
||||
bloomColor = vec4(clamp(color_result.xyz - 1.0, 0, 100), 1.0);
|
||||
/*
|
||||
if(color_result.x > 1 || color_result.y > 1 || color_result.z > 1) {
|
||||
bloomColor = vec4(color_result.xyz, 1.0);
|
||||
} else {
|
||||
bloomColor = vec4(0.0, 0.0, 0.0, 1.0);
|
||||
} */
|
||||
|
||||
//sceneColor += Input.DiffuseColor * (totalLighting.Diffuse) * diffuseTexel * Color;
|
||||
//sceneColor += Input.DiffuseColor + vec4(0.0, LightGrids.Data[currentTile].Amount/3, 0, 1);
|
||||
|
||||
|
||||
|
||||
|
||||
//Tiled Debug Code
|
||||
/*
|
||||
|
||||
@@ -16,7 +16,10 @@ layout(location = 6) in vec4 BoneWeights;
|
||||
out VertexData{
|
||||
vec3 Position;
|
||||
vec3 Normal;
|
||||
vec3 Tangent;
|
||||
vec3 BiTangent;
|
||||
vec2 TextureCoordinate;
|
||||
vec4 ExplosionColor;
|
||||
}Output;
|
||||
|
||||
void main()
|
||||
@@ -36,4 +39,7 @@ void main()
|
||||
Output.Position = (boneTransform * vec4(Position, 1.0)).xyz;
|
||||
Output.TextureCoordinate = TextureCoords;
|
||||
Output.Normal = vec3(M * vec4(Normal, 0.0));
|
||||
Output.Tangent = vec3(M * vec4(Tangent, 0.0));
|
||||
Output.BiTangent = vec3(M * vec4(BiTangent, 0.0));
|
||||
Output.ExplosionColor = vec4(0.0);
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
#version 430
|
||||
#extension GL_EXT_gpu_shader4 : enable
|
||||
|
||||
layout (binding = 0) uniform sampler2D Texture;
|
||||
|
||||
@@ -12,7 +13,7 @@ uniform float weight[5] = float[](0.227027, 0.1945946, 0.1216216, 0.054054, 0.01
|
||||
|
||||
void main()
|
||||
{
|
||||
vec2 tex_offset = 1.0 / textureSize(Texture, 0);
|
||||
vec2 tex_offset = 1.0 / textureSize2D(Texture, 0);
|
||||
vec3 result = texture(Texture, Input.TextureCoordinate).rgb * weight[0];
|
||||
|
||||
for(int i = 1; i < 5; ++i) {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#version 430
|
||||
#extension GL_EXT_gpu_shader4 : enable
|
||||
|
||||
layout (binding = 0) uniform sampler2D Texture;
|
||||
|
||||
@@ -12,7 +13,7 @@ uniform float weight[5] = float[](0.227027, 0.1945946, 0.1216216, 0.054054, 0.01
|
||||
|
||||
void main()
|
||||
{
|
||||
vec2 tex_offset = 1.0 / textureSize(Texture, 0);
|
||||
vec2 tex_offset = 1.0 / textureSize2D(Texture, 0);
|
||||
vec3 result = texture(Texture, Input.TextureCoordinate).rgb * weight[0];
|
||||
|
||||
for(int i = 1; i < 5; ++i) {
|
||||
|
||||
Reference in New Issue
Block a user