point light work
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
This commit is contained in:
parent
4b41ac823c
commit
b410a1de1a
@ -532,13 +532,18 @@
|
|||||||
},
|
},
|
||||||
"pointLight" : {
|
"pointLight" : {
|
||||||
"const": 1.0,
|
"const": 1.0,
|
||||||
"linear": 0.7,
|
"linear": 0.9,
|
||||||
"quadratic": 0.35,
|
"quadratic": 0.9,
|
||||||
"radius": 1.0,
|
"radius": 3.0,
|
||||||
"color": {
|
"color": {
|
||||||
"x": 0.3,
|
"x": 0.3,
|
||||||
"y": 0.3,
|
"y": 0.3,
|
||||||
"z": 0.3
|
"z": 0.3
|
||||||
|
},
|
||||||
|
"offset": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.6,
|
||||||
|
"z": 0.0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"idleData": {
|
"idleData": {
|
||||||
|
|||||||
@ -416,13 +416,18 @@
|
|||||||
},
|
},
|
||||||
"pointLight" : {
|
"pointLight" : {
|
||||||
"const": 1.0,
|
"const": 1.0,
|
||||||
"linear": 0.7,
|
"linear": 0.9,
|
||||||
"quadratic": 0.35,
|
"quadratic": 0.9,
|
||||||
"radius": 1.0,
|
"radius": 3.0,
|
||||||
"color": {
|
"color": {
|
||||||
"x": 0.3,
|
"x": 0.3,
|
||||||
"y": 0.3,
|
"y": 0.3,
|
||||||
"z": 0.3
|
"z": 0.3
|
||||||
|
},
|
||||||
|
"offset": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.3,
|
||||||
|
"z": 0.0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"idleData": {
|
"idleData": {
|
||||||
|
|||||||
@ -812,6 +812,9 @@ Fix terrain editing across chunk borders on server
|
|||||||
- Also because the client doesn't scan border chunks to see if they should update
|
- Also because the client doesn't scan border chunks to see if they should update
|
||||||
Fix shader program bug with no-bone variants
|
Fix shader program bug with no-bone variants
|
||||||
Particle Emitter work (it renders! it has management!)
|
Particle Emitter work (it renders! it has management!)
|
||||||
|
Texture atlasing for particle system
|
||||||
|
Texture atlas caching
|
||||||
|
Point light offsets
|
||||||
|
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
|
|||||||
@ -36,7 +36,13 @@ public class ClientPointLightComponent implements BehaviorTree {
|
|||||||
@Override
|
@Override
|
||||||
public void simulate(float deltaTime) {
|
public void simulate(float deltaTime) {
|
||||||
Vector3d entityPos = EntityUtils.getPosition(parent);
|
Vector3d entityPos = EntityUtils.getPosition(parent);
|
||||||
light.setPosition(new Vector3f((float)entityPos.x,(float)entityPos.y,(float)entityPos.z));
|
Vector3d offset = null;
|
||||||
|
if(description.getOffset() != null){
|
||||||
|
offset = new Vector3d(description.getOffset());
|
||||||
|
} else {
|
||||||
|
offset = new Vector3d();
|
||||||
|
}
|
||||||
|
light.setPosition(new Vector3f((float)entityPos.x,(float)entityPos.y,(float)entityPos.z).add((float)offset.x,(float)offset.y,(float)offset.z));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package electrosphere.game.data.common.light;
|
package electrosphere.game.data.common.light;
|
||||||
|
|
||||||
|
import org.joml.Vector3d;
|
||||||
import org.joml.Vector3f;
|
import org.joml.Vector3f;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -32,6 +33,11 @@ public class PointLightDescription {
|
|||||||
*/
|
*/
|
||||||
Vector3f color;
|
Vector3f color;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The offset from the entity base to place the point light at
|
||||||
|
*/
|
||||||
|
Vector3d offset;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the constant attenuation factor
|
* Sets the constant attenuation factor
|
||||||
* @param constant The constant attenuation factor
|
* @param constant The constant attenuation factor
|
||||||
@ -112,4 +118,12 @@ public class PointLightDescription {
|
|||||||
return radius;
|
return radius;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the offset from the base of the entity to place the point light at
|
||||||
|
* @return The offset
|
||||||
|
*/
|
||||||
|
public Vector3d getOffset(){
|
||||||
|
return offset;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user