Fix transparent bug

This commit is contained in:
austin 2023-07-26 19:09:55 -04:00
parent c38fe6b322
commit 8a82598ccc
10 changed files with 53 additions and 4 deletions

Binary file not shown.

View File

@ -431,6 +431,20 @@
"Textures/skyscraper1.png",
"Textures/skyscraper1.png"
]
},
"Models/foliageBlockTemplate1Test1.fbx" : {
"Plane" : [
"Textures/leaf3layer1.png",
"Textures/leaf3layer1.png"
],
"Plane.001" : [
"Textures/leaf3layer1.png",
"Textures/leaf3layer1.png"
],
"Plane.002" : [
"Textures/leaf3layer1.png",
"Textures/leaf3layer1.png"
]
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

View File

@ -1,3 +1,3 @@
#maven.buildNumber.plugin properties file
#Fri Jul 14 20:48:01 EDT 2023
buildNumber=4
#Tue Jul 25 19:29:28 EDT 2023
buildNumber=5

View File

@ -8,6 +8,7 @@ import org.joml.Vector3d;
import electrosphere.engine.Globals;
import electrosphere.engine.assetmanager.AssetDataStrings;
import electrosphere.entity.Entity;
import electrosphere.entity.EntityCreationUtils;
import electrosphere.entity.EntityDataStrings;
import electrosphere.entity.EntityUtils;
import electrosphere.entity.ServerEntityUtils;
@ -150,6 +151,11 @@ public class ArenaLoading {
// Entity sword = ItemUtils.spawnBasicItem("Katana");
// EntityUtils.initiallyPositionEntity(sword, new Vector3d(1,0.4f,2));
// EntityUtils.getRotation(sword).set(new Quaternionf().rotationY((float)(Math.PI/2.0)));
// Entity leafBlock = EntityCreationUtils.createClientSpatialEntity();
// EntityCreationUtils.makeEntityDrawable(leafBlock, "Models/foliageBlockTemplate1Test1.fbx");
// EntityUtils.getPosition(leafBlock).set(3,3,3);
//floating island 1
// Entity island1 = ObjectUtils.spawnBasicObject("floatingisland1");

View File

@ -14,8 +14,10 @@ import electrosphere.client.terrain.cells.DrawCellManager;
import electrosphere.collision.CollisionEngine;
import electrosphere.controls.ControlHandler;
import electrosphere.engine.Globals;
import electrosphere.entity.DrawableUtils;
import electrosphere.entity.Entity;
import electrosphere.entity.EntityCreationUtils;
import electrosphere.entity.EntityDataStrings;
import electrosphere.entity.EntityUtils;
import electrosphere.entity.state.BehaviorTree;
import electrosphere.entity.state.movement.ApplyRotationTree;
@ -28,6 +30,7 @@ import electrosphere.menu.WindowUtils;
import electrosphere.net.NetUtils;
import electrosphere.net.client.ClientNetworking;
import electrosphere.renderer.ui.Window;
import electrosphere.server.datacell.EntityDataCellMapper;
public class ClientLoading {
@ -235,6 +238,10 @@ public class ClientLoading {
}
});
Entity leafBlob = EntityCreationUtils.createClientSpatialEntity();
EntityCreationUtils.makeEntityDrawable(leafBlob, "Models/foliageBlockTemplate1Test1.fbx");
DrawableUtils.makeEntityTransparent(leafBlob);
}
static void initDrawCellManager(){

View File

@ -0,0 +1,17 @@
package electrosphere.entity;
/**
* Utilities to manipulating drawable entities (eg making an entity transparent)
*/
public class DrawableUtils {
/**
* Edits entity data to make the entity transparent
* @param entity The entity to edit
*/
public static void makeEntityTransparent(Entity entity){
entity.putData(EntityDataStrings.DRAW_TRANSPARENT_PASS, true);
entity.removeData(EntityDataStrings.DRAW_SOLID_PASS);
}
}

View File

@ -206,7 +206,6 @@ public class ServerGravityTree implements BehaviorTree {
boolean rVal = false;
for(Impulse impulse : collidable.getImpulses()){
if(impulse.getType().equals(Collidable.TYPE_TERRAIN)){
System.out.println(rVal);
rVal = true;
break;
} else if(

View File

@ -15,6 +15,7 @@ import static org.lwjgl.glfw.GLFW.glfwSwapBuffers;
import static org.lwjgl.glfw.GLFW.glfwTerminate;
import static org.lwjgl.glfw.GLFW.glfwWindowHint;
import static org.lwjgl.opengl.GL11.GL_ALWAYS;
import static org.lwjgl.opengl.GL45.GL_LEQUAL;
import static org.lwjgl.opengl.GL11.GL_BLEND;
import static org.lwjgl.opengl.GL11.GL_COLOR;
import static org.lwjgl.opengl.GL11.GL_COLOR_BUFFER_BIT;
@ -686,7 +687,9 @@ public class RenderingEngine {
//
// Set render pipeline state
//
renderPipelineState.setUseMeshShader(true);
renderPipelineState.setSelectedShader(SelectedShaderEnum.OIT);
glDepthFunc(GL_LEQUAL);
//
//!!!WARNING!!!
@ -721,6 +724,8 @@ public class RenderingEngine {
currentActor.draw(renderPipelineState);
}
}
//draw all instanced models
Globals.clientInstanceManager.draw(renderPipelineState);
//

View File

@ -13,6 +13,7 @@ import java.util.zip.DeflaterOutputStream;
import java.util.zip.InflaterOutputStream;
import electrosphere.engine.Globals;
import electrosphere.logger.LoggerInterface;
import electrosphere.net.server.Server;
import electrosphere.server.terrain.manager.ServerTerrainChunk;
import electrosphere.util.FileUtils;
@ -158,7 +159,7 @@ public class ChunkDiskMap {
* @param terrainChunk The terrain chunk
*/
public void saveToDisk(ServerTerrainChunk terrainChunk){
System.out.println("Save to disk: " + terrainChunk.getWorldX() + " " + terrainChunk.getWorldY() + " " + terrainChunk.getWorldZ());
LoggerInterface.loggerEngine.DEBUG("Save to disk: " + terrainChunk.getWorldX() + " " + terrainChunk.getWorldY() + " " + terrainChunk.getWorldZ());
//get the file name for this chunk
String fileName = null;
String chunkKey = getTerrainChunkKey(terrainChunk.getWorldX(),terrainChunk.getWorldY(),terrainChunk.getWorldZ());