reduce projection near clip + grass 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
9db672321f
commit
dc00a20bb0
@ -26,7 +26,7 @@
|
||||
"name" : "Add",
|
||||
"first" : {
|
||||
"name" : "Const",
|
||||
"value" : 0.5
|
||||
"value" : 1.0
|
||||
},
|
||||
"second" : {
|
||||
"name" : "OpenSimplex"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 87 KiB |
@ -1108,6 +1108,11 @@ Fix ClientTerrainManager concurrent editing bug
|
||||
Fix point lights not being cleared from buffer after deletion
|
||||
Remove point lights from skeleton + human
|
||||
|
||||
(11/21/2024)
|
||||
Change grass texture
|
||||
Fix allocations on FoliageChunk child iterations
|
||||
Reduce near clip to remove flickering on far chunks
|
||||
|
||||
|
||||
# TODO
|
||||
|
||||
@ -1139,8 +1144,6 @@ Bug Fixes
|
||||
- Calculate bounding sphere for meshes by deforming vertices with bone default pose instead of no bone deform
|
||||
- Fix light cluster mapping for foliage shader
|
||||
- Fix foliage placement
|
||||
- Fix lights not being deleted
|
||||
- Not sending a "light count" var to light calculations, so the data stays in buffer even though it is not being updated
|
||||
- Fix block tree preventing initiating an attack
|
||||
- Fix particles not spawning in correct positions
|
||||
- Fix flickering when applying yoga signal (may need to rethink arch here)
|
||||
@ -1230,8 +1233,6 @@ Build a lod system
|
||||
Refactor attach logic to better encapsulate semantic attachment
|
||||
|
||||
Light Manager
|
||||
- Creates and manages light entities
|
||||
- Uses priority queue mechanism like foliage manager to only draw the most important lights
|
||||
- Support "flickering" somehow
|
||||
- Eventually support spot lights?
|
||||
- Point shadows ???
|
||||
|
||||
@ -54,12 +54,12 @@ public class FoliageCell {
|
||||
/**
|
||||
* the length of the ray to ground test with
|
||||
*/
|
||||
static final float RAY_LENGTH = 2.0f;
|
||||
static final float RAY_LENGTH = 1.0f;
|
||||
|
||||
/**
|
||||
* the height above the chunk to start from when sampling downwards
|
||||
*/
|
||||
static final float SAMPLE_START_HEIGHT = 1.0f;
|
||||
static final float SAMPLE_START_HEIGHT = 0.5f;
|
||||
|
||||
/**
|
||||
* The ID of the air voxel
|
||||
@ -159,6 +159,11 @@ public class FoliageCell {
|
||||
*/
|
||||
boolean hasGenerated = false;
|
||||
|
||||
/**
|
||||
* Tracks whether this cell should be evaluated or not
|
||||
*/
|
||||
boolean shouldEvaluate = true;
|
||||
|
||||
/**
|
||||
* Inits the foliage cell data
|
||||
*/
|
||||
@ -269,6 +274,7 @@ public class FoliageCell {
|
||||
this.addEntity(grassEntity);
|
||||
}
|
||||
}
|
||||
this.shouldEvaluate = false;
|
||||
this.hasGenerated = true;
|
||||
}
|
||||
|
||||
@ -488,6 +494,22 @@ public class FoliageCell {
|
||||
return this.hasGenerated;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the cell should be continuously evaluated
|
||||
* @return true if should be evaluated, false otherwise
|
||||
*/
|
||||
public boolean shouldEvaluate() {
|
||||
return shouldEvaluate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets if the cell should be continuously evaluated
|
||||
* @param shouldEvaluate true if should be evaluated, false otherwise
|
||||
*/
|
||||
public void setShouldEvaluate(boolean shouldEvaluate) {
|
||||
this.shouldEvaluate = shouldEvaluate;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* SCAFFOLDING FOR BUILDING SCALE>1 CELLS AND ALSO FOR TOP LEVEL CELL CHECKING
|
||||
|
||||
@ -47,27 +47,27 @@ public class MenuGeneratorsTitleMenu {
|
||||
optionPanel.addChild(titleLabel);
|
||||
|
||||
//button (multiplayer)
|
||||
optionPanel.addChild(Button.createButtonCentered("Singleplayer", 2.0f, () -> {
|
||||
optionPanel.addChild(Button.createButtonCentered("Singleplayer", 1.0f, () -> {
|
||||
WindowUtils.replaceMainMenuContents(MenuGenerators.createWorldSelectMenu());
|
||||
}).setOnClickAudio(AssetDataStrings.UI_TONE_BUTTON_TITLE));
|
||||
|
||||
//button (multiplayer)
|
||||
optionPanel.addChild(Button.createButtonCentered("Multiplayer", 2.0f, () -> {
|
||||
optionPanel.addChild(Button.createButtonCentered("Multiplayer", 1.0f, () -> {
|
||||
WindowUtils.replaceMainMenuContents(MenuGenerators.createMultiplayerMenu());
|
||||
}).setOnClickAudio(AssetDataStrings.UI_TONE_BUTTON_TITLE));
|
||||
|
||||
//button (static level)
|
||||
optionPanel.addChild(Button.createButtonCentered("Level Editor", 2.0f, () -> {
|
||||
optionPanel.addChild(Button.createButtonCentered("Level Editor", 1.0f, () -> {
|
||||
WindowUtils.replaceMainMenuContents(MenuGeneratorsLevelEditor.createLevelEditorTopMenu());
|
||||
}).setOnClickAudio(AssetDataStrings.UI_TONE_BUTTON_TITLE));
|
||||
|
||||
//button (options)
|
||||
optionPanel.addChild(Button.createButtonCentered("Options", 2.0f, () -> {
|
||||
optionPanel.addChild(Button.createButtonCentered("Options", 1.0f, () -> {
|
||||
WindowUtils.replaceMainMenuContents(MenuGenerators.createOptionsMainMenu());
|
||||
}).setOnClickAudio(AssetDataStrings.UI_TONE_BUTTON_TITLE));
|
||||
|
||||
//button (sp debug)
|
||||
optionPanel.addChild(Button.createButtonCentered("Debug SP Quickstart", 2.0f, () -> {
|
||||
optionPanel.addChild(Button.createButtonCentered("Debug SP Quickstart", 1.0f, () -> {
|
||||
LoadingThread loadingThread = new LoadingThread(LoadingThreadType.DEBUG_RANDOM_SP_WORLD);
|
||||
Globals.RUN_CLIENT = true;
|
||||
Globals.RUN_SERVER = true;
|
||||
@ -75,7 +75,7 @@ public class MenuGeneratorsTitleMenu {
|
||||
}).setOnClickAudio(AssetDataStrings.UI_TONE_BUTTON_TITLE));
|
||||
|
||||
//button (sp debug)
|
||||
optionPanel.addChild(Button.createButtonCentered("Load Test Generation Realm", 2.0f, () -> {
|
||||
optionPanel.addChild(Button.createButtonCentered("Load Test Generation Realm", 1.0f, () -> {
|
||||
LoadingThread loadingThread = new LoadingThread(LoadingThreadType.CHUNK_GENERATION_REALM);
|
||||
Globals.RUN_CLIENT = true;
|
||||
Globals.RUN_SERVER = true;
|
||||
@ -83,12 +83,12 @@ public class MenuGeneratorsTitleMenu {
|
||||
}).setOnClickAudio(AssetDataStrings.UI_TONE_BUTTON_TITLE));
|
||||
|
||||
//button (ui testing)
|
||||
optionPanel.addChild(Button.createButtonCentered("UI Testing", 2.0f, () -> {
|
||||
optionPanel.addChild(Button.createButtonCentered("UI Testing", 1.0f, () -> {
|
||||
WindowUtils.replaceMainMenuContents(MenuGeneratorsUITesting.createUITestMenu());
|
||||
}).setOnClickAudio(AssetDataStrings.UI_TONE_BUTTON_TITLE));
|
||||
|
||||
//button (Viewport Test)
|
||||
optionPanel.addChild(Button.createButtonCentered("Viewport Test", 2.0f, () -> {
|
||||
optionPanel.addChild(Button.createButtonCentered("Viewport Test", 1.0f, () -> {
|
||||
Globals.threadManager.start(new LoadingThread(LoadingThreadType.LOAD_VIEWPORT));
|
||||
}).setOnClickAudio(AssetDataStrings.UI_TONE_BUTTON_TITLE));
|
||||
|
||||
|
||||
@ -258,7 +258,7 @@ public class Globals {
|
||||
|
||||
public static float verticalFOV = 90;
|
||||
public static float aspectRatio = 2.0f;
|
||||
public static float nearClip = 0.001f;
|
||||
public static float nearClip = 0.01f;
|
||||
|
||||
//matrices for drawing models
|
||||
public static Matrix4f viewMatrix = new Matrix4f();
|
||||
|
||||
@ -183,6 +183,22 @@ public class ChunkTree<T> {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets whether this node is a leaf or not
|
||||
* @param isLeaf true if it is a leaf, false otherwise
|
||||
*/
|
||||
public void setLeaf(boolean isLeaf){
|
||||
this.isLeaf = isLeaf;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the data of the node
|
||||
* @param data The data
|
||||
*/
|
||||
public void setData(T data){
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the data associated with this node
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user