renderer code cleanup
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit

This commit is contained in:
austin 2025-05-19 08:50:09 -04:00
parent ac6bddea1f
commit 105a71de24
4 changed files with 73 additions and 28 deletions

View File

@ -1893,6 +1893,9 @@ Texture class cleanup work
OS data wrapper OS data wrapper
Renderer code cleanup Renderer code cleanup
(05/19/2025)
Renderer code cleanup

View File

@ -47,83 +47,83 @@ public class Actor {
/** /**
* the model path of the model backing the actor * the model path of the model backing the actor
*/ */
String modelPath; private String modelPath;
/** /**
* used for statically binding textures in pipelines that dont bind textures on a per-mesh level * used for statically binding textures in pipelines that dont bind textures on a per-mesh level
* ie when in the ui, this can be set to bind a texture at the actor level * ie when in the ui, this can be set to bind a texture at the actor level
*/ */
String textureOverride; private String textureOverride;
/** /**
* scales the time that animations are played at * scales the time that animations are played at
*/ */
float animationScalar = 1.0f; private float animationScalar = 1.0f;
/** /**
* The stack of animations being applied to a given actor * The stack of animations being applied to a given actor
*/ */
Set<ActorAnimationMask> animationQueue = new TreeSet<ActorAnimationMask>(); private Set<ActorAnimationMask> animationQueue = new TreeSet<ActorAnimationMask>();
/** /**
* Mask for overwriting meshes in a given actor * Mask for overwriting meshes in a given actor
*/ */
ActorMeshMask meshMask = new ActorMeshMask(); private ActorMeshMask meshMask = new ActorMeshMask();
/** /**
* optional overrides for specific shaders * optional overrides for specific shaders
*/ */
List<ActorShaderMask> shaderMasks = new LinkedList<ActorShaderMask>(); private List<ActorShaderMask> shaderMasks = new LinkedList<ActorShaderMask>();
/** /**
* optional overrides for textures * optional overrides for textures
*/ */
Map<String,ActorTextureMask> textureMap = null; private Map<String,ActorTextureMask> textureMap = null;
/** /**
* bone rotators * bone rotators
*/ */
Map<String,ActorBoneRotator> boneRotators = new HashMap<String,ActorBoneRotator>(); private Map<String,ActorBoneRotator> boneRotators = new HashMap<String,ActorBoneRotator>();
/** /**
* static morph for this specific actor * static morph for this specific actor
*/ */
ActorStaticMorph staticMorph; private ActorStaticMorph staticMorph;
/** /**
* The list of bone groups * The list of bone groups
*/ */
List<BoneGroup> boneGroups; private List<BoneGroup> boneGroups;
/** /**
* A map of mesh -> uniforms to apply to the mesh * A map of mesh -> uniforms to apply to the mesh
*/ */
ActorUniformMap uniformMap = new ActorUniformMap(); private ActorUniformMap uniformMap = new ActorUniformMap();
/** /**
* Controls whether the actor should obey frustum culling * Controls whether the actor should obey frustum culling
*/ */
boolean frustumCull = true; private boolean frustumCull = true;
/** /**
* Used for caching animation masks that should be removed * Used for caching animation masks that should be removed
*/ */
List<ActorAnimationMask> toRemoveMasks = new LinkedList<ActorAnimationMask>(); private List<ActorAnimationMask> toRemoveMasks = new LinkedList<ActorAnimationMask>();
/** /**
* Stores the positions of bones as they are updated * Stores the positions of bones as they are updated
*/ */
Map<String,Vector3d> bonePositionMap = new HashMap<String,Vector3d>(); private Map<String,Vector3d> bonePositionMap = new HashMap<String,Vector3d>();
/** /**
* Stores the rotations of bones as they are updated * Stores the rotations of bones as they are updated
*/ */
Map<String,Quaterniond> boneRotationMap = new HashMap<String,Quaterniond>(); private Map<String,Quaterniond> boneRotationMap = new HashMap<String,Quaterniond>();
/** /**
* Sets scaling applied at the actor level * Sets scaling applied at the actor level
*/ */
float scale = 1.0f; private float scale = 1.0f;
/** /**
* Creates an achor * Creates an achor

View File

@ -12,25 +12,39 @@ import org.lwjgl.assimp.AIBone;
*/ */
public class Bone { public class Bone {
//the name of the bone /**
* the name of the bone
*/
public String boneID; public String boneID;
//the number of vertices affected by this bone /**
int numWeights; * the number of vertices affected by this bone
*/
private int numWeights;
//The map of index of vertex to weight of this bone on that vertex /**
Map<Integer,Float> weights = new HashMap<Integer,Float>(); * The map of index of vertex to weight of this bone on that vertex
*/
private Map<Integer,Float> weights = new HashMap<Integer,Float>();
//the mOffsetMatrix -- transforms from mesh space to bone space in bind pose /**
* the mOffsetMatrix -- transforms from mesh space to bone space in bind pose
*/
private Matrix4d mOffsetMatrix; private Matrix4d mOffsetMatrix;
//the current deform value of the bone /**
* the current deform value of the bone
*/
private Matrix4d deform; private Matrix4d deform;
//the final transform that is used for drawing, data, etc /**
* the final transform that is used for drawing, data, etc
*/
private Matrix4d finalTransform; private Matrix4d finalTransform;
//the raw data for the bone /**
* the raw data for the bone
*/
public AIBone raw_data; public AIBone raw_data;
/** /**
@ -86,19 +100,43 @@ public class Bone {
this.mOffsetMatrix = new Matrix4d(mOffset); this.mOffsetMatrix = new Matrix4d(mOffset);
} }
/**
* Gets the deform matrix of the bone
* @return The deform matrix
*/
public Matrix4d getDeform(){ public Matrix4d getDeform(){
return new Matrix4d(deform); return new Matrix4d(deform);
} }
/**
* Sets the deform matrix of the bone
* @param deform The deform matrix
*/
public void setDeform(Matrix4d deform){ public void setDeform(Matrix4d deform){
this.deform = new Matrix4d(deform); this.deform = new Matrix4d(deform);
} }
/**
* Gets the final transform of the bone
* @return The final transform
*/
public Matrix4d getFinalTransform(){ public Matrix4d getFinalTransform(){
return new Matrix4d(finalTransform); return new Matrix4d(finalTransform);
} }
/**
* Sets the final transform of the bone
* @param finalTransform The final transform
*/
public void setFinalTransform(Matrix4d finalTransform){ public void setFinalTransform(Matrix4d finalTransform){
this.finalTransform = new Matrix4d(finalTransform); this.finalTransform = new Matrix4d(finalTransform);
} }
/**
* Gets the number of weights
* @return The number of weights
*/
public int getNumWeights(){
return numWeights;
}
} }

View File

@ -24,12 +24,16 @@ public class ComputeShader implements Shader {
/** /**
* The id for the shader * The id for the shader
*/ */
int programId; private int programId;
//Uniforms /**
* Map of uniform index -> uniform value
*/
public Map<Integer,Object> uniformMap = new HashMap<Integer,Object>(); public Map<Integer,Object> uniformMap = new HashMap<Integer,Object>();
//keeps track of programs that have already been compiled and returns them instead of recompiling from scratch /**
* keeps track of programs that have already been compiled and returns them instead of recompiling from scratch
*/
static Map<String,VisualShader> alreadyCompiledMap = new HashMap<String,VisualShader>(); static Map<String,VisualShader> alreadyCompiledMap = new HashMap<String,VisualShader>();
/** /**