new voxel audio, foliage fix, ui test fix
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
5fce9bc292
commit
dd763b31a9
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Hard A.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Hard A.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Hard B.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Hard B.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Hard C.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Hard C.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Hard D.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Hard D.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Hard E.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Hard E.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Medium A.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Medium A.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Medium B.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Medium B.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Medium C.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Medium C.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Medium D.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Medium D.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Medium E.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Bare Step Grass Medium E.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Jump Step Grass A.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Jump Step Grass A.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Jump Step Grass B.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Jump Step Grass B.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Land Step Grass A.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Land Step Grass A.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Land Step Grass B.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Land Step Grass B.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Hard A.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Hard A.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Hard B.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Hard B.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Hard C.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Hard C.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Hard D.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Hard D.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Hard E.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Hard E.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Medium A.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Medium A.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Medium B.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Medium B.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Medium C.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Medium C.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Medium D.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Medium D.wav
Normal file
Binary file not shown.
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Medium E.wav
Normal file
BIN
assets/Audio/movement/surface/grass/Shoe Step Grass Medium E.wav
Normal file
Binary file not shown.
@ -82,6 +82,45 @@
|
|||||||
"Audio/movement/surface/dirt/Land Step Gravel A.wav",
|
"Audio/movement/surface/dirt/Land Step Gravel A.wav",
|
||||||
"Audio/movement/surface/dirt/Land Step Gravel B.wav"
|
"Audio/movement/surface/dirt/Land Step Gravel B.wav"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"voxelTypeIds" : [2,3],
|
||||||
|
"footstepRegularBareAudioPaths" : [
|
||||||
|
"Audio/movement/surface/grass/Bare Step Grass Medium A.wav",
|
||||||
|
"Audio/movement/surface/grass/Bare Step Grass Medium B.wav",
|
||||||
|
"Audio/movement/surface/grass/Bare Step Grass Medium C.wav",
|
||||||
|
"Audio/movement/surface/grass/Bare Step Grass Medium D.wav",
|
||||||
|
"Audio/movement/surface/grass/Bare Step Grass Medium E.wav"
|
||||||
|
],
|
||||||
|
"footstepHeavyBareAudioPaths" : [
|
||||||
|
"Audio/movement/surface/grass/Bare Step Grass Hard A.wav",
|
||||||
|
"Audio/movement/surface/grass/Bare Step Grass Hard B.wav",
|
||||||
|
"Audio/movement/surface/grass/Bare Step Grass Hard C.wav",
|
||||||
|
"Audio/movement/surface/grass/Bare Step Grass Hard D.wav",
|
||||||
|
"Audio/movement/surface/grass/Bare Step Grass Hard E.wav"
|
||||||
|
],
|
||||||
|
"footstepRegularShoeAudioPaths" : [
|
||||||
|
"Audio/movement/surface/grass/Shoe Step Grass Medium A.wav",
|
||||||
|
"Audio/movement/surface/grass/Shoe Step Grass Medium B.wav",
|
||||||
|
"Audio/movement/surface/grass/Shoe Step Grass Medium C.wav",
|
||||||
|
"Audio/movement/surface/grass/Shoe Step Grass Medium D.wav",
|
||||||
|
"Audio/movement/surface/grass/Shoe Step Grass Medium E.wav"
|
||||||
|
],
|
||||||
|
"footstepHeavyShoeAudioPaths" : [
|
||||||
|
"Audio/movement/surface/grass/Shoe Step Grass Hard A.wav",
|
||||||
|
"Audio/movement/surface/grass/Shoe Step Grass Hard B.wav",
|
||||||
|
"Audio/movement/surface/grass/Shoe Step Grass Hard C.wav",
|
||||||
|
"Audio/movement/surface/grass/Shoe Step Grass Hard D.wav",
|
||||||
|
"Audio/movement/surface/grass/Shoe Step Grass Hard E.wav"
|
||||||
|
],
|
||||||
|
"jumpAudioPaths" : [
|
||||||
|
"Audio/movement/surface/grass/Jump Step Grass A.wav",
|
||||||
|
"Audio/movement/surface/grass/Jump Step Grass B.wav"
|
||||||
|
],
|
||||||
|
"landAudioPaths" : [
|
||||||
|
"Audio/movement/surface/grass/Land Step Grass A.wav",
|
||||||
|
"Audio/movement/surface/grass/Land Step Grass B.wav"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -16,7 +16,6 @@
|
|||||||
Ticketed randomizer node for BTs to more heavily weight attacking and waiting
|
Ticketed randomizer node for BTs to more heavily weight attacking and waiting
|
||||||
|
|
||||||
+ bug fixes
|
+ bug fixes
|
||||||
Fix grass rendering distance
|
|
||||||
Fix return to title menu synchronization bug
|
Fix return to title menu synchronization bug
|
||||||
|
|
||||||
+ unreproducible bugs
|
+ unreproducible bugs
|
||||||
|
|||||||
@ -720,9 +720,16 @@ Fix empty item slot not showing underneath dragged item
|
|||||||
Fix voxel selection popout rendering, nav logic
|
Fix voxel selection popout rendering, nav logic
|
||||||
|
|
||||||
(09/11/2024)
|
(09/11/2024)
|
||||||
Voxel updates
|
Voxel updates (+new type!)
|
||||||
Fix return-to-title button from ingame main menu
|
Fix return-to-title button from ingame main menu
|
||||||
Fix F2 controls bug with title menu
|
Fix F2 controls bug with title menu
|
||||||
|
ChunkOctree implementation
|
||||||
|
Octree approach for rendering foliage on client
|
||||||
|
Foliage scaled cell generation
|
||||||
|
DBody key refactor
|
||||||
|
Audio for grass/leaves
|
||||||
|
Re-enable UI test
|
||||||
|
Fix foliage chunk-level radius being too low (causing grass cutoff)
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
|
|
||||||
|
|||||||
@ -24,7 +24,7 @@ public class ClientFoliageManager {
|
|||||||
/**
|
/**
|
||||||
* Number of chunks to check
|
* Number of chunks to check
|
||||||
*/
|
*/
|
||||||
int chunkRadius = 1;
|
int chunkRadius = 2;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -27,12 +27,12 @@ public class FoliageChunk {
|
|||||||
/**
|
/**
|
||||||
* The distance to draw at full resolution
|
* The distance to draw at full resolution
|
||||||
*/
|
*/
|
||||||
static final double FULL_RES_DIST = 20;
|
static final double FULL_RES_DIST = 15;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The distance for half resolution
|
* The distance for half resolution
|
||||||
*/
|
*/
|
||||||
static final double HALF_RES_DIST = 40;
|
static final double HALF_RES_DIST = 30;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The octree holding all the chunks to evaluate
|
* The octree holding all the chunks to evaluate
|
||||||
|
|||||||
@ -285,8 +285,10 @@ public class Framebuffer {
|
|||||||
int offsetY = 0;
|
int offsetY = 0;
|
||||||
int width = openGLState.getViewport().x;
|
int width = openGLState.getViewport().x;
|
||||||
int height = openGLState.getViewport().y;
|
int height = openGLState.getViewport().y;
|
||||||
|
|
||||||
|
//the formats we want opengl to return with
|
||||||
int pixelFormat = GL40.GL_RGBA;
|
int pixelFormat = GL40.GL_RGBA;
|
||||||
int type = GL40.GL_UNSIGNED_INT;
|
int type = GL40.GL_UNSIGNED_BYTE;
|
||||||
|
|
||||||
|
|
||||||
bind(openGLState);
|
bind(openGLState);
|
||||||
@ -296,8 +298,6 @@ public class Framebuffer {
|
|||||||
GL40.glReadBuffer(GL40.GL_BACK);
|
GL40.glReadBuffer(GL40.GL_BACK);
|
||||||
} else if(attachTextureMap.containsKey(0)){
|
} else if(attachTextureMap.containsKey(0)){
|
||||||
Texture texture = attachTextureMap.get(0);
|
Texture texture = attachTextureMap.get(0);
|
||||||
pixelFormat = texture.getFormat();
|
|
||||||
type = texture.getDataType();
|
|
||||||
width = texture.getWidth();
|
width = texture.getWidth();
|
||||||
height = texture.getHeight();
|
height = texture.getHeight();
|
||||||
} else {
|
} else {
|
||||||
@ -353,19 +353,7 @@ public class Framebuffer {
|
|||||||
LoggerInterface.loggerRenderer.WARNING("Trying to export framebuffer that has image of unsupported pixel format");
|
LoggerInterface.loggerRenderer.WARNING("Trying to export framebuffer that has image of unsupported pixel format");
|
||||||
} break;
|
} break;
|
||||||
}
|
}
|
||||||
int bytesPerComponent = 1;
|
return multiplier;
|
||||||
switch(type){
|
|
||||||
case GL40.GL_UNSIGNED_INT: {
|
|
||||||
bytesPerComponent = 4;
|
|
||||||
} break;
|
|
||||||
case GL40.GL_UNSIGNED_BYTE: {
|
|
||||||
bytesPerComponent = 1;
|
|
||||||
} break;
|
|
||||||
default: {
|
|
||||||
LoggerInterface.loggerRenderer.WARNING("Trying to export framebuffer that has image of unsupported datatype");
|
|
||||||
} break;
|
|
||||||
}
|
|
||||||
return multiplier * bytesPerComponent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,7 +48,7 @@ public class FramebufferUtils {
|
|||||||
public static Texture generateScreenTextureColor(OpenGLState openGLState, int width, int height){
|
public static Texture generateScreenTextureColor(OpenGLState openGLState, int width, int height){
|
||||||
Texture texture = new Texture();
|
Texture texture = new Texture();
|
||||||
texture.bind(openGLState);
|
texture.bind(openGLState);
|
||||||
texture.glTexImage2D(openGLState, width, height, GL_RGB, GL_UNSIGNED_BYTE);
|
texture.glTexImage2D(openGLState, width, height, GL_RGB, GL45.GL_UNSIGNED_INT);
|
||||||
texture.setMinFilter(openGLState, GL_LINEAR);
|
texture.setMinFilter(openGLState, GL_LINEAR);
|
||||||
texture.setMagFilter(openGLState, GL_LINEAR);
|
texture.setMagFilter(openGLState, GL_LINEAR);
|
||||||
//these make sure the texture actually clamps to the borders of the quad
|
//these make sure the texture actually clamps to the borders of the quad
|
||||||
@ -67,7 +67,7 @@ public class FramebufferUtils {
|
|||||||
public static Texture generateScreenTextureColorAlpha(OpenGLState openGLState, int width, int height){
|
public static Texture generateScreenTextureColorAlpha(OpenGLState openGLState, int width, int height){
|
||||||
Texture texture = new Texture();
|
Texture texture = new Texture();
|
||||||
texture.bind(openGLState);
|
texture.bind(openGLState);
|
||||||
texture.glTexImage2D(openGLState, width, height, GL_RGBA, GL45.GL_UNSIGNED_INT_8_8_8_8);
|
texture.glTexImage2D(openGLState, width, height, GL_RGBA, GL45.GL_UNSIGNED_INT);
|
||||||
texture.setMinFilter(openGLState, GL_LINEAR);
|
texture.setMinFilter(openGLState, GL_LINEAR);
|
||||||
texture.setMagFilter(openGLState, GL_LINEAR);
|
texture.setMagFilter(openGLState, GL_LINEAR);
|
||||||
//these make sure the texture actually clamps to the borders of the quad
|
//these make sure the texture actually clamps to the borders of the quad
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
package electrosphere.renderer.ui.elements;
|
package electrosphere.renderer.ui.elements;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Disabled;
|
|
||||||
|
|
||||||
import electrosphere.test.annotations.IntegrationTest;
|
import electrosphere.test.annotations.IntegrationTest;
|
||||||
import electrosphere.menu.WindowUtils;
|
import electrosphere.menu.WindowUtils;
|
||||||
import electrosphere.menu.mainmenu.MenuGeneratorsUITesting;
|
import electrosphere.menu.mainmenu.MenuGeneratorsUITesting;
|
||||||
@ -16,18 +14,19 @@ public class WindowTest extends RenderingTestTemplate {
|
|||||||
/**
|
/**
|
||||||
* Tests creating a window
|
* Tests creating a window
|
||||||
*/
|
*/
|
||||||
@Disabled
|
|
||||||
@IntegrationTest
|
@IntegrationTest
|
||||||
public void testCreateWindow(){
|
public void testCreateWindow(){
|
||||||
//create ui testing window
|
//create ui testing window
|
||||||
TestEngineUtils.simulateFrames(1);
|
TestEngineUtils.simulateFrames(1);
|
||||||
WindowUtils.replaceMainMenuContents(MenuGeneratorsUITesting.createUITestMenu());
|
WindowUtils.replaceMainMenuContents(MenuGeneratorsUITesting.createUITestMenu());
|
||||||
|
|
||||||
//only simulating 1 frame after updating ui contents does not trigger re-render in local dev environment, but DOES in CI env
|
//wait for ui updates
|
||||||
//2 frames seems to fix this
|
TestEngineUtils.flush();
|
||||||
|
|
||||||
TestEngineUtils.simulateFrames(60);
|
TestEngineUtils.simulateFrames(60);
|
||||||
|
|
||||||
// TestRenderingUtils.saveTestRender("./test/java/electrosphere/renderer/ui/elements/window.png");
|
// TestRenderingUtils.saveTestRender("./test/java/electrosphere/renderer/ui/elements/window.png");
|
||||||
this.checkRender("Basic", "./test/java/electrosphere/renderer/ui/elements/window.png");
|
this.checkRender("Basic", "./test/java/electrosphere/renderer/ui/elements/ui-test.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
test/java/electrosphere/renderer/ui/elements/ui-test.png
Normal file
BIN
test/java/electrosphere/renderer/ui/elements/ui-test.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
Loading…
Reference in New Issue
Block a user