debug rendering of server physics objects
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
d12353b2cf
commit
9309263036
@ -2027,6 +2027,7 @@ Improvement to building placement math in TownLayout
|
||||
Scaffold character job data
|
||||
Moving data packages around
|
||||
Fix client LOD tree re-enabling physics positioning
|
||||
Debug rendering of server physics objects
|
||||
|
||||
|
||||
|
||||
|
||||
@ -50,8 +50,11 @@ public class ImGuiRenderer {
|
||||
if(ImGui.button("Draw Server Hitboxes")){
|
||||
Globals.gameConfigCurrent.getSettings().setGraphicsDebugDrawCollisionSpheresServer(!Globals.gameConfigCurrent.getSettings().getGraphicsDebugDrawCollisionSpheresServer());
|
||||
}
|
||||
if(ImGui.button("Draw Physics Objects")){
|
||||
Globals.gameConfigCurrent.getSettings().setGraphicsDebugDrawPhysicsObjects(!Globals.gameConfigCurrent.getSettings().graphicsDebugDrawPhysicsObjects());
|
||||
if(ImGui.button("Draw Physics Objects (client)")){
|
||||
Globals.gameConfigCurrent.getSettings().setGraphicsDebugDrawPhysicsObjectsClient(!Globals.gameConfigCurrent.getSettings().graphicsDebugDrawPhysicsObjectsClient());
|
||||
}
|
||||
if(ImGui.button("Draw Physics Objects (server)")){
|
||||
Globals.gameConfigCurrent.getSettings().setGraphicsDebugDrawPhysicsObjectsServer(!Globals.gameConfigCurrent.getSettings().graphicsDebugDrawPhysicsObjectsServer());
|
||||
}
|
||||
if(ImGui.button("Draw Grid Alignment Data")){
|
||||
Globals.gameConfigCurrent.getSettings().setGraphicsDebugDrawGridAlignment(!Globals.gameConfigCurrent.getSettings().getGraphicsDebugDrawGridAlignment());
|
||||
|
||||
@ -277,14 +277,24 @@ public class MenuGeneratorsInGame {
|
||||
scrollable.addChild(toggleServerCollisionSpheresButton);
|
||||
|
||||
//label (toggle draw physics objects)
|
||||
Button togglePhysicsObjectsButton = Button.createButton("Toggle draw physics objects", new ClickableElement.ClickEventCallback(){public boolean execute(ClickEvent event){
|
||||
Button togglePhysicsObjectsClientButton = Button.createButton("Toggle draw physics objects (client)", new ClickableElement.ClickEventCallback(){public boolean execute(ClickEvent event){
|
||||
// Main.running = false;
|
||||
Globals.gameConfigCurrent.getSettings().setGraphicsDebugDrawPhysicsObjects(!Globals.gameConfigCurrent.getSettings().graphicsDebugDrawPhysicsObjects());
|
||||
Globals.gameConfigCurrent.getSettings().setGraphicsDebugDrawPhysicsObjectsClient(!Globals.gameConfigCurrent.getSettings().graphicsDebugDrawPhysicsObjectsClient());
|
||||
return false;
|
||||
}});
|
||||
togglePhysicsObjectsButton.setMarginTop(BUTTON_MARGIN);
|
||||
togglePhysicsObjectsButton.setMarginLeft(BUTTON_MARGIN);
|
||||
scrollable.addChild(togglePhysicsObjectsButton);
|
||||
togglePhysicsObjectsClientButton.setMarginTop(BUTTON_MARGIN);
|
||||
togglePhysicsObjectsClientButton.setMarginLeft(BUTTON_MARGIN);
|
||||
scrollable.addChild(togglePhysicsObjectsClientButton);
|
||||
|
||||
//label (toggle draw physics objects)
|
||||
Button togglePhysicsObjectsServerButton = Button.createButton("Toggle draw physics objects (server)", new ClickableElement.ClickEventCallback(){public boolean execute(ClickEvent event){
|
||||
// Main.running = false;
|
||||
Globals.gameConfigCurrent.getSettings().setGraphicsDebugDrawPhysicsObjectsServer(!Globals.gameConfigCurrent.getSettings().graphicsDebugDrawPhysicsObjectsServer());
|
||||
return false;
|
||||
}});
|
||||
togglePhysicsObjectsServerButton.setMarginTop(BUTTON_MARGIN);
|
||||
togglePhysicsObjectsServerButton.setMarginLeft(BUTTON_MARGIN);
|
||||
scrollable.addChild(togglePhysicsObjectsServerButton);
|
||||
|
||||
//toggle draw grid alignment data
|
||||
Button toggleDrawGridAlignmentDataButton = Button.createButton("Toggle draw grid alignment data", new ClickableElement.ClickEventCallback(){public boolean execute(ClickEvent event){
|
||||
|
||||
@ -48,7 +48,8 @@ public class UserSettings {
|
||||
//debug visuals
|
||||
boolean graphicsDebugDrawCollisionSpheresClient;
|
||||
boolean graphicsDebugDrawCollisionSpheresServer;
|
||||
boolean graphicsDebugDrawPhysicsObjects;
|
||||
boolean graphicsDebugDrawPhysicsObjectsClient;
|
||||
boolean graphicsDebugDrawPhysicsObjectsServer;
|
||||
boolean graphicsDebugDrawMovementVectors;
|
||||
boolean graphicsDebugDrawNavmesh;
|
||||
boolean graphicsDebugDrawGridAlignment;
|
||||
@ -101,8 +102,12 @@ public class UserSettings {
|
||||
return graphicsDebugDrawCollisionSpheresServer;
|
||||
}
|
||||
|
||||
public boolean graphicsDebugDrawPhysicsObjects() {
|
||||
return graphicsDebugDrawPhysicsObjects;
|
||||
public boolean graphicsDebugDrawPhysicsObjectsClient() {
|
||||
return graphicsDebugDrawPhysicsObjectsClient;
|
||||
}
|
||||
|
||||
public boolean graphicsDebugDrawPhysicsObjectsServer() {
|
||||
return graphicsDebugDrawPhysicsObjectsServer;
|
||||
}
|
||||
|
||||
public boolean graphicsDebugDrawMovementVectors() {
|
||||
@ -154,8 +159,12 @@ public class UserSettings {
|
||||
this.graphicsDebugDrawCollisionSpheresServer = draw;
|
||||
}
|
||||
|
||||
public void setGraphicsDebugDrawPhysicsObjects(boolean draw){
|
||||
this.graphicsDebugDrawPhysicsObjects = draw;
|
||||
public void setGraphicsDebugDrawPhysicsObjectsClient(boolean draw){
|
||||
this.graphicsDebugDrawPhysicsObjectsClient = draw;
|
||||
}
|
||||
|
||||
public void setGraphicsDebugDrawPhysicsObjectsServer(boolean draw){
|
||||
this.graphicsDebugDrawPhysicsObjectsServer = draw;
|
||||
}
|
||||
|
||||
public void setGraphicsDebugDrawMovementVectors(boolean draw){
|
||||
@ -282,7 +291,8 @@ public class UserSettings {
|
||||
rVal.graphicsDebugDrawCollisionSpheresClient = false;
|
||||
rVal.graphicsDebugDrawCollisionSpheresServer = false;
|
||||
rVal.graphicsDebugDrawMovementVectors = false;
|
||||
rVal.graphicsDebugDrawPhysicsObjects = false;
|
||||
rVal.graphicsDebugDrawPhysicsObjectsClient = false;
|
||||
rVal.graphicsDebugDrawPhysicsObjectsServer = false;
|
||||
rVal.graphicsDebugDrawNavmesh = false;
|
||||
rVal.graphicsPerformanceLODChunkRadius = 5;
|
||||
rVal.graphicsFOV = 90.0f;
|
||||
|
||||
@ -101,7 +101,8 @@ public class DebugContentPipeline implements RenderPipeline {
|
||||
}
|
||||
}
|
||||
|
||||
if(Globals.gameConfigCurrent.getSettings().graphicsDebugDrawPhysicsObjects()){
|
||||
//render client physics objects
|
||||
if(Globals.gameConfigCurrent.getSettings().graphicsDebugDrawPhysicsObjectsClient()){
|
||||
CollisionEngine engine = Globals.clientState.clientSceneWrapper.getCollisionEngine();
|
||||
for(Collidable collidable : engine.getCollidables()){
|
||||
Entity physicsEntity = collidable.getParent();
|
||||
@ -112,6 +113,18 @@ public class DebugContentPipeline implements RenderPipeline {
|
||||
}
|
||||
}
|
||||
|
||||
//render server physics objects
|
||||
if(Globals.gameConfigCurrent.getSettings().graphicsDebugDrawPhysicsObjectsServer()){
|
||||
CollisionEngine engine = Globals.serverState.realmManager.first().getCollisionEngine();
|
||||
for(Collidable collidable : engine.getCollidables()){
|
||||
Entity physicsEntity = collidable.getParent();
|
||||
if(physicsEntity.getData(EntityDataStrings.PHYSICS_MODEL_TEMPLATE) != null){
|
||||
CollidableTemplate template = (CollidableTemplate)physicsEntity.getData(EntityDataStrings.PHYSICS_MODEL_TEMPLATE);
|
||||
DebugContentPipeline.renderCollidable(openGLState, renderPipelineState, modelTransformMatrix, physicsEntity, template);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//render interaction engine collidables
|
||||
if(Globals.gameConfigCurrent.getSettings().getGraphicsDebugDrawInteractionCollidables()){
|
||||
CollisionEngine engine = Globals.clientState.clientSceneWrapper.getInteractionEngine();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user