Rename
This commit is contained in:
@@ -22,14 +22,14 @@ repositories {
|
||||
|
||||
processResources {
|
||||
inputs.property "version", project.version
|
||||
archivesBaseName = "zenith"
|
||||
archivesBaseName = "voxy"
|
||||
filesMatching("fabric.mod.json") {
|
||||
expand "version": project.version
|
||||
}
|
||||
}
|
||||
|
||||
loom {
|
||||
accessWidenerPath = file("src/main/resources/zenith.accesswidener")
|
||||
accessWidenerPath = file("src/main/resources/voxy.accesswidener")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -10,6 +10,6 @@ loader_version=0.15.0
|
||||
# Mod Properties
|
||||
mod_version = 0.0.3-alpha
|
||||
maven_group = me.cortex
|
||||
archives_base_name = zenith
|
||||
archives_base_name = voxy
|
||||
|
||||
fabric_version=0.91.1+1.20.4
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package me.cortex.zenith.client;
|
||||
package me.cortex.voxy.client;
|
||||
|
||||
import me.cortex.zenith.client.core.VoxelCore;
|
||||
import me.cortex.voxy.client.core.VoxelCore;
|
||||
|
||||
public interface IGetVoxelCore {
|
||||
VoxelCore getVoxelCore();
|
||||
@@ -1,9 +1,8 @@
|
||||
package me.cortex.zenith.client;
|
||||
package me.cortex.voxy.client;
|
||||
|
||||
import me.cortex.zenith.common.world.storage.lmdb.LMDBInterface;
|
||||
import me.cortex.zenith.common.world.storage.StorageBackend;
|
||||
import me.cortex.zenith.client.importers.WorldImporter;
|
||||
import me.cortex.zenith.common.world.storage.lmdb.LMDBStorageBackend;
|
||||
import me.cortex.voxy.common.world.storage.lmdb.LMDBInterface;
|
||||
import me.cortex.voxy.client.importers.WorldImporter;
|
||||
import me.cortex.voxy.common.world.storage.lmdb.LMDBStorageBackend;
|
||||
import org.lwjgl.system.MemoryUtil;
|
||||
|
||||
import java.io.File;
|
||||
@@ -1,10 +1,10 @@
|
||||
package me.cortex.zenith.client;
|
||||
package me.cortex.voxy.client;
|
||||
|
||||
import me.cortex.zenith.client.terrain.WorldImportCommand;
|
||||
import me.cortex.voxy.client.terrain.WorldImportCommand;
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
|
||||
|
||||
public class Zenith implements ClientModInitializer {
|
||||
public class Voxy implements ClientModInitializer {
|
||||
@Override
|
||||
public void onInitializeClient() {
|
||||
ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.config;
|
||||
package me.cortex.voxy.client.config;
|
||||
|
||||
import com.google.gson.FieldNamingPolicy;
|
||||
import com.google.gson.Gson;
|
||||
@@ -11,13 +11,13 @@ import java.lang.reflect.Modifier;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
|
||||
public class ZenithConfig {
|
||||
public class VoxyConfig {
|
||||
private static final Gson GSON = new GsonBuilder()
|
||||
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
|
||||
.setPrettyPrinting()
|
||||
.excludeFieldsWithModifiers(Modifier.PRIVATE)
|
||||
.create();
|
||||
public static ZenithConfig CONFIG = loadOrCreate();
|
||||
public static VoxyConfig CONFIG = loadOrCreate();
|
||||
|
||||
public boolean enabled = true;
|
||||
public int qualityScale = 20;
|
||||
@@ -27,7 +27,7 @@ public class ZenithConfig {
|
||||
public int savingThreads = 10;
|
||||
public int renderThreads = 5;
|
||||
public int savingCompressionLevel = 7;
|
||||
public String storagePath = "zenith_db";
|
||||
public String storagePath = "voxy_db";
|
||||
|
||||
transient StorageConfig storageConfig;
|
||||
public static abstract class StorageConfig { }
|
||||
@@ -38,17 +38,17 @@ public class ZenithConfig {
|
||||
|
||||
|
||||
|
||||
public static ZenithConfig loadOrCreate() {
|
||||
public static VoxyConfig loadOrCreate() {
|
||||
var path = getConfigPath();
|
||||
if (Files.exists(path)) {
|
||||
try (FileReader reader = new FileReader(path.toFile())) {
|
||||
return GSON.fromJson(reader, ZenithConfig.class);
|
||||
return GSON.fromJson(reader, VoxyConfig.class);
|
||||
} catch (IOException e) {
|
||||
System.err.println("Could not parse config");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return new ZenithConfig();
|
||||
return new VoxyConfig();
|
||||
}
|
||||
public void save() {
|
||||
//Unsafe, todo: fixme! needs to be atomic!
|
||||
@@ -1,31 +1,26 @@
|
||||
package me.cortex.zenith.client.config;
|
||||
package me.cortex.voxy.client.config;
|
||||
|
||||
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
|
||||
import com.terraformersmc.modmenu.api.ModMenuApi;
|
||||
import me.cortex.zenith.client.IGetVoxelCore;
|
||||
import me.cortex.voxy.client.IGetVoxelCore;
|
||||
import me.shedaniel.clothconfig2.api.ConfigBuilder;
|
||||
import me.shedaniel.clothconfig2.api.ConfigCategory;
|
||||
import me.shedaniel.clothconfig2.api.ConfigEntryBuilder;
|
||||
import me.shedaniel.clothconfig2.api.Requirement;
|
||||
import me.shedaniel.clothconfig2.gui.entries.BooleanListEntry;
|
||||
import me.shedaniel.clothconfig2.gui.entries.IntegerListEntry;
|
||||
import me.shedaniel.clothconfig2.gui.entries.IntegerSliderEntry;
|
||||
import me.shedaniel.clothconfig2.impl.builders.DropdownMenuBuilder;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.text.Text;
|
||||
|
||||
public class ZenithConfigScreenFactory implements ModMenuApi {
|
||||
private static final ZenithConfig DEFAULT = new ZenithConfig();
|
||||
public class VoxyConfigScreenFactory implements ModMenuApi {
|
||||
private static final VoxyConfig DEFAULT = new VoxyConfig();
|
||||
@Override
|
||||
public ConfigScreenFactory<?> getModConfigScreenFactory() {
|
||||
return parent -> buildConfigScreen(parent, ZenithConfig.CONFIG);
|
||||
return parent -> buildConfigScreen(parent, VoxyConfig.CONFIG);
|
||||
}
|
||||
|
||||
private static Screen buildConfigScreen(Screen parent, ZenithConfig config) {
|
||||
private static Screen buildConfigScreen(Screen parent, VoxyConfig config) {
|
||||
ConfigBuilder builder = ConfigBuilder.create()
|
||||
.setParentScreen(parent)
|
||||
.setTitle(Text.translatable("zenith.config.title"));
|
||||
.setTitle(Text.translatable("voxy.config.title"));
|
||||
|
||||
|
||||
addGeneralCategory(builder, config);
|
||||
@@ -38,78 +33,78 @@ public class ZenithConfigScreenFactory implements ModMenuApi {
|
||||
if (world != null) {
|
||||
world.reloadVoxelCore();
|
||||
}
|
||||
ZenithConfig.CONFIG.save();
|
||||
VoxyConfig.CONFIG.save();
|
||||
});
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
private static void addGeneralCategory(ConfigBuilder builder, ZenithConfig config) {
|
||||
ConfigCategory category = builder.getOrCreateCategory(Text.translatable("zenith.config.general"));
|
||||
private static void addGeneralCategory(ConfigBuilder builder, VoxyConfig config) {
|
||||
ConfigCategory category = builder.getOrCreateCategory(Text.translatable("voxy.config.general"));
|
||||
ConfigEntryBuilder entryBuilder = builder.entryBuilder();
|
||||
|
||||
|
||||
category.addEntry(entryBuilder.startBooleanToggle(Text.translatable("zenith.config.general.enabled"), config.enabled)
|
||||
.setTooltip(Text.translatable("zenith.config.general.enabled.tooltip"))
|
||||
category.addEntry(entryBuilder.startBooleanToggle(Text.translatable("voxy.config.general.enabled"), config.enabled)
|
||||
.setTooltip(Text.translatable("voxy.config.general.enabled.tooltip"))
|
||||
.setSaveConsumer(val -> config.enabled = val)
|
||||
.setDefaultValue(DEFAULT.enabled)
|
||||
.build());
|
||||
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("zenith.config.general.quality"), config.qualityScale, 8, 50)
|
||||
.setTooltip(Text.translatable("zenith.config.general.quality.tooltip"))
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("voxy.config.general.quality"), config.qualityScale, 8, 50)
|
||||
.setTooltip(Text.translatable("voxy.config.general.quality.tooltip"))
|
||||
.setSaveConsumer(val -> config.qualityScale = val)
|
||||
.setDefaultValue(DEFAULT.qualityScale)
|
||||
.build());
|
||||
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("zenith.config.general.geometryBuffer"), config.geometryBufferSize, (1<<27)/8, ((1<<31)-1)/8)
|
||||
.setTooltip(Text.translatable("zenith.config.general.geometryBuffer.tooltip"))
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("voxy.config.general.geometryBuffer"), config.geometryBufferSize, (1<<27)/8, ((1<<31)-1)/8)
|
||||
.setTooltip(Text.translatable("voxy.config.general.geometryBuffer.tooltip"))
|
||||
.setSaveConsumer(val -> config.geometryBufferSize = val)
|
||||
.setDefaultValue(DEFAULT.geometryBufferSize)
|
||||
.build());
|
||||
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("zenith.config.general.maxSections"), config.maxSections, 100_000, 400_000)
|
||||
.setTooltip(Text.translatable("zenith.config.general.maxSections.tooltip"))
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("voxy.config.general.maxSections"), config.maxSections, 100_000, 400_000)
|
||||
.setTooltip(Text.translatable("voxy.config.general.maxSections.tooltip"))
|
||||
.setSaveConsumer(val -> config.maxSections = val)
|
||||
.setDefaultValue(DEFAULT.maxSections)
|
||||
.build());
|
||||
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("zenith.config.general.compression"), config.savingCompressionLevel, 1, 21)
|
||||
.setTooltip(Text.translatable("zenith.config.general.compression.tooltip"))
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("voxy.config.general.compression"), config.savingCompressionLevel, 1, 21)
|
||||
.setTooltip(Text.translatable("voxy.config.general.compression.tooltip"))
|
||||
.setSaveConsumer(val -> config.savingCompressionLevel = val)
|
||||
.setDefaultValue(DEFAULT.savingCompressionLevel)
|
||||
.build());
|
||||
}
|
||||
|
||||
private static void addThreadsCategory(ConfigBuilder builder, ZenithConfig config) {
|
||||
ConfigCategory category = builder.getOrCreateCategory(Text.translatable("zenith.config.threads"));
|
||||
private static void addThreadsCategory(ConfigBuilder builder, VoxyConfig config) {
|
||||
ConfigCategory category = builder.getOrCreateCategory(Text.translatable("voxy.config.threads"));
|
||||
ConfigEntryBuilder entryBuilder = builder.entryBuilder();
|
||||
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("zenith.config.threads.ingest"), config.ingestThreads, 1, Runtime.getRuntime().availableProcessors())
|
||||
.setTooltip(Text.translatable("zenith.config.general.ingest.tooltip"))
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("voxy.config.threads.ingest"), config.ingestThreads, 1, Runtime.getRuntime().availableProcessors())
|
||||
.setTooltip(Text.translatable("voxy.config.general.ingest.tooltip"))
|
||||
.setSaveConsumer(val -> config.ingestThreads = val)
|
||||
.setDefaultValue(DEFAULT.ingestThreads)
|
||||
.build());
|
||||
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("zenith.config.threads.saving"), config.savingThreads, 1, Runtime.getRuntime().availableProcessors())
|
||||
.setTooltip(Text.translatable("zenith.config.general.saving.tooltip"))
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("voxy.config.threads.saving"), config.savingThreads, 1, Runtime.getRuntime().availableProcessors())
|
||||
.setTooltip(Text.translatable("voxy.config.general.saving.tooltip"))
|
||||
.setSaveConsumer(val -> config.savingThreads = val)
|
||||
.setDefaultValue(DEFAULT.savingThreads)
|
||||
.build());
|
||||
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("zenith.config.threads.render"), config.renderThreads, 1, Runtime.getRuntime().availableProcessors())
|
||||
.setTooltip(Text.translatable("zenith.config.general.render.tooltip"))
|
||||
category.addEntry(entryBuilder.startIntSlider(Text.translatable("voxy.config.threads.render"), config.renderThreads, 1, Runtime.getRuntime().availableProcessors())
|
||||
.setTooltip(Text.translatable("voxy.config.general.render.tooltip"))
|
||||
.setSaveConsumer(val -> config.renderThreads = val)
|
||||
.setDefaultValue(DEFAULT.renderThreads)
|
||||
.build());
|
||||
}
|
||||
|
||||
private static void addStorageCategory(ConfigBuilder builder, ZenithConfig config) {
|
||||
ConfigCategory category = builder.getOrCreateCategory(Text.translatable("zenith.config.storage"));
|
||||
private static void addStorageCategory(ConfigBuilder builder, VoxyConfig config) {
|
||||
ConfigCategory category = builder.getOrCreateCategory(Text.translatable("voxy.config.storage"));
|
||||
ConfigEntryBuilder entryBuilder = builder.entryBuilder();
|
||||
|
||||
//Temporary until i figure out how to do more complex multi layer configuration for storage
|
||||
category.addEntry(entryBuilder.startStrField(Text.translatable("zenith.config.storage.path"), config.storagePath)
|
||||
.setTooltip(Text.translatable("zenith.config.storage.path.tooltip"))
|
||||
category.addEntry(entryBuilder.startStrField(Text.translatable("voxy.config.storage.path"), config.storagePath)
|
||||
.setTooltip(Text.translatable("voxy.config.storage.path.tooltip"))
|
||||
.setSaveConsumer(val -> config.storagePath = val)
|
||||
.setDefaultValue(DEFAULT.storagePath)
|
||||
.build());
|
||||
@@ -1,11 +1,11 @@
|
||||
package me.cortex.zenith.client.core;
|
||||
package me.cortex.voxy.client.core;
|
||||
|
||||
//Contains the logic to determine what is loaded and at what LoD level, dispatches render changes
|
||||
// also determines what faces are built etc
|
||||
|
||||
import it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap;
|
||||
import me.cortex.zenith.client.core.rendering.RenderTracker;
|
||||
import me.cortex.zenith.client.core.util.RingUtil;
|
||||
import me.cortex.voxy.client.core.rendering.RenderTracker;
|
||||
import me.cortex.voxy.client.core.util.RingUtil;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
|
||||
//Can use ring logic
|
||||
@@ -1,19 +1,18 @@
|
||||
package me.cortex.zenith.client.core;
|
||||
package me.cortex.voxy.client.core;
|
||||
|
||||
import com.mojang.blaze3d.platform.GlStateManager;
|
||||
import me.cortex.zenith.client.config.ZenithConfig;
|
||||
import me.cortex.zenith.client.core.rendering.*;
|
||||
import me.cortex.zenith.client.core.rendering.building.RenderGenerationService;
|
||||
import me.cortex.zenith.client.core.rendering.post.PostProcessing;
|
||||
import me.cortex.zenith.client.core.util.DebugUtil;
|
||||
import me.cortex.zenith.common.world.WorldEngine;
|
||||
import me.cortex.zenith.client.importers.WorldImporter;
|
||||
import me.cortex.zenith.common.world.storage.FragmentedStorageBackendAdaptor;
|
||||
import me.cortex.voxy.client.config.VoxyConfig;
|
||||
import me.cortex.voxy.client.core.rendering.*;
|
||||
import me.cortex.voxy.client.core.rendering.building.RenderGenerationService;
|
||||
import me.cortex.voxy.client.core.rendering.post.PostProcessing;
|
||||
import me.cortex.voxy.client.core.util.DebugUtil;
|
||||
import me.cortex.voxy.common.world.WorldEngine;
|
||||
import me.cortex.voxy.client.importers.WorldImporter;
|
||||
import me.cortex.voxy.common.world.storage.FragmentedStorageBackendAdaptor;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.render.Camera;
|
||||
import net.minecraft.client.render.Frustum;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.registry.RegistryKey;
|
||||
import net.minecraft.registry.RegistryKeys;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.world.World;
|
||||
@@ -48,23 +47,23 @@ public class VoxelCore {
|
||||
//private final Thread shutdownThread = new Thread(this::shutdown);
|
||||
|
||||
public VoxelCore() {
|
||||
System.out.println("Initializing voxel core");
|
||||
System.out.println("Initializing voxy core");
|
||||
|
||||
//Trigger the shared index buffer loading
|
||||
SharedIndexBuffer.INSTANCE.id();
|
||||
this.renderer = new Gl46FarWorldRenderer(ZenithConfig.CONFIG.geometryBufferSize, ZenithConfig.CONFIG.maxSections);
|
||||
this.renderer = new Gl46FarWorldRenderer(VoxyConfig.CONFIG.geometryBufferSize, VoxyConfig.CONFIG.maxSections);
|
||||
System.out.println("Renderer initialized");
|
||||
this.world = new WorldEngine(new FragmentedStorageBackendAdaptor(new File(ZenithConfig.CONFIG.storagePath)), ZenithConfig.CONFIG.ingestThreads, ZenithConfig.CONFIG.savingThreads, ZenithConfig.CONFIG.savingCompressionLevel, 5);//"storagefile.db"//"ethoslab.db"
|
||||
this.world = new WorldEngine(new FragmentedStorageBackendAdaptor(new File(VoxyConfig.CONFIG.storagePath)), VoxyConfig.CONFIG.ingestThreads, VoxyConfig.CONFIG.savingThreads, VoxyConfig.CONFIG.savingCompressionLevel, 5);//"storagefile.db"//"ethoslab.db"
|
||||
System.out.println("World engine");
|
||||
|
||||
this.renderTracker = new RenderTracker(this.world, this.renderer);
|
||||
this.renderGen = new RenderGenerationService(this.world, this.renderer.getModelManager(), ZenithConfig.CONFIG.renderThreads, this.renderTracker::processBuildResult);
|
||||
this.renderGen = new RenderGenerationService(this.world, this.renderer.getModelManager(), VoxyConfig.CONFIG.renderThreads, this.renderTracker::processBuildResult);
|
||||
this.world.setDirtyCallback(this.renderTracker::sectionUpdated);
|
||||
this.renderTracker.setRenderGen(this.renderGen);
|
||||
System.out.println("Render tracker and generator initialized");
|
||||
|
||||
//To get to chunk scale multiply the scale by 2, the scale is after how many chunks does the lods halve
|
||||
this.distanceTracker = new DistanceTracker(this.renderTracker, 5, ZenithConfig.CONFIG.qualityScale);
|
||||
this.distanceTracker = new DistanceTracker(this.renderTracker, 5, VoxyConfig.CONFIG.qualityScale);
|
||||
System.out.println("Distance tracker initialized");
|
||||
|
||||
this.postProcessing = new PostProcessing();
|
||||
@@ -85,7 +84,7 @@ public class VoxelCore {
|
||||
}
|
||||
//this.renderer.getModelManager().updateEntry(0, Blocks.GRASS_BLOCK.getDefaultState());
|
||||
|
||||
System.out.println("Voxel core initialized");
|
||||
System.out.println("Voxy core initialized");
|
||||
}
|
||||
|
||||
|
||||
@@ -142,7 +141,7 @@ public class VoxelCore {
|
||||
public void addDebugInfo(List<String> debug) {
|
||||
debug.add("");
|
||||
debug.add("");
|
||||
debug.add("VoxelCore");
|
||||
debug.add("Voxy Core");
|
||||
debug.add("Ingest service tasks: " + this.world.ingestService.getTaskCount());
|
||||
debug.add("Saving service tasks: " + this.world.savingService.getTaskCount());
|
||||
debug.add("Render service tasks: " + this.renderGen.getTaskCount());
|
||||
@@ -1,6 +1,6 @@
|
||||
package me.cortex.zenith.client.core.gl;
|
||||
package me.cortex.voxy.client.core.gl;
|
||||
|
||||
import me.cortex.zenith.common.util.TrackedObject;
|
||||
import me.cortex.voxy.common.util.TrackedObject;
|
||||
|
||||
import static org.lwjgl.opengl.GL15.glDeleteBuffers;
|
||||
import static org.lwjgl.opengl.GL44C.glBufferStorage;
|
||||
@@ -1,6 +1,6 @@
|
||||
package me.cortex.zenith.client.core.gl;
|
||||
package me.cortex.voxy.client.core.gl;
|
||||
|
||||
import me.cortex.zenith.common.util.TrackedObject;
|
||||
import me.cortex.voxy.common.util.TrackedObject;
|
||||
|
||||
import static org.lwjgl.opengl.GL32.*;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package me.cortex.zenith.client.core.gl;
|
||||
package me.cortex.voxy.client.core.gl;
|
||||
|
||||
import me.cortex.zenith.common.util.TrackedObject;
|
||||
import me.cortex.voxy.common.util.TrackedObject;
|
||||
|
||||
import static org.lwjgl.opengl.GL45C.*;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package me.cortex.zenith.client.core.gl;
|
||||
package me.cortex.voxy.client.core.gl;
|
||||
|
||||
import me.cortex.zenith.common.util.TrackedObject;
|
||||
import me.cortex.voxy.common.util.TrackedObject;
|
||||
|
||||
import static org.lwjgl.opengl.ARBMapBufferRange.GL_MAP_WRITE_BIT;
|
||||
import static org.lwjgl.opengl.GL15.glDeleteBuffers;
|
||||
@@ -1,6 +1,6 @@
|
||||
package me.cortex.zenith.client.core.gl;
|
||||
package me.cortex.voxy.client.core.gl;
|
||||
|
||||
import me.cortex.zenith.common.util.TrackedObject;
|
||||
import me.cortex.voxy.common.util.TrackedObject;
|
||||
|
||||
import static org.lwjgl.opengl.ARBFramebufferObject.glDeleteFramebuffers;
|
||||
import static org.lwjgl.opengl.ARBFramebufferObject.glGenFramebuffers;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.core.gl.shader;
|
||||
package me.cortex.voxy.client.core.gl.shader;
|
||||
|
||||
public interface IShaderProcessor {
|
||||
String process(ShaderType type, String source);
|
||||
@@ -1,6 +1,6 @@
|
||||
package me.cortex.zenith.client.core.gl.shader;
|
||||
package me.cortex.voxy.client.core.gl.shader;
|
||||
|
||||
import me.cortex.zenith.common.util.TrackedObject;
|
||||
import me.cortex.voxy.common.util.TrackedObject;
|
||||
import org.lwjgl.opengl.GL20C;
|
||||
|
||||
import java.util.HashMap;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.core.gl.shader;
|
||||
package me.cortex.voxy.client.core.gl.shader;
|
||||
|
||||
import me.jellysquid.mods.sodium.client.gl.shader.ShaderConstants;
|
||||
import me.jellysquid.mods.sodium.client.gl.shader.ShaderParser;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.core.gl.shader;
|
||||
package me.cortex.voxy.client.core.gl.shader;
|
||||
|
||||
|
||||
import static org.lwjgl.opengl.GL20.GL_FRAGMENT_SHADER;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.core.model;
|
||||
package me.cortex.voxy.client.core.model;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package me.cortex.zenith.client.core.model;
|
||||
package me.cortex.voxy.client.core.model;
|
||||
|
||||
import com.mojang.blaze3d.platform.GlConst;
|
||||
import com.mojang.blaze3d.platform.GlStateManager;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
|
||||
import me.cortex.zenith.client.core.gl.GlBuffer;
|
||||
import me.cortex.zenith.client.core.gl.GlTexture;
|
||||
import me.cortex.zenith.client.core.rendering.util.UploadStream;
|
||||
import me.cortex.voxy.client.core.gl.GlBuffer;
|
||||
import me.cortex.voxy.client.core.gl.GlTexture;
|
||||
import me.cortex.voxy.client.core.rendering.util.UploadStream;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.FluidBlock;
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
@@ -41,7 +41,6 @@ import static org.lwjgl.opengl.GL12C.GL_TEXTURE_MIN_LOD;
|
||||
import static org.lwjgl.opengl.GL33.glDeleteSamplers;
|
||||
import static org.lwjgl.opengl.GL33.glGenSamplers;
|
||||
import static org.lwjgl.opengl.GL33C.glSamplerParameteri;
|
||||
import static org.lwjgl.opengl.GL45C.glGenerateTextureMipmap;
|
||||
import static org.lwjgl.opengl.GL45C.glTextureSubImage2D;
|
||||
|
||||
//Manages the storage and updating of model states, textures and colours
|
||||
@@ -1,15 +1,13 @@
|
||||
package me.cortex.zenith.client.core.model;
|
||||
package me.cortex.voxy.client.core.model;
|
||||
|
||||
import com.mojang.blaze3d.platform.GlConst;
|
||||
import com.mojang.blaze3d.platform.GlStateManager;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.systems.VertexSorter;
|
||||
import me.cortex.zenith.client.core.gl.GlFramebuffer;
|
||||
import me.cortex.zenith.client.core.gl.GlTexture;
|
||||
import me.cortex.zenith.client.core.gl.shader.Shader;
|
||||
import me.cortex.zenith.client.core.gl.shader.ShaderLoader;
|
||||
import me.cortex.zenith.client.core.gl.shader.ShaderType;
|
||||
import me.jellysquid.mods.sodium.client.gl.shader.GlShader;
|
||||
import me.cortex.voxy.client.core.gl.GlFramebuffer;
|
||||
import me.cortex.voxy.client.core.gl.GlTexture;
|
||||
import me.cortex.voxy.client.core.gl.shader.Shader;
|
||||
import me.cortex.voxy.client.core.gl.shader.ShaderType;
|
||||
import net.minecraft.block.*;
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
@@ -18,7 +16,6 @@ import net.minecraft.client.render.*;
|
||||
import net.minecraft.client.render.model.BakedModel;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.fluid.FluidState;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.math.RotationAxis;
|
||||
@@ -40,8 +37,6 @@ import static org.lwjgl.opengl.ARBShaderImageLoadStore.glMemoryBarrier;
|
||||
import static org.lwjgl.opengl.GL11.*;
|
||||
import static org.lwjgl.opengl.GL14C.glBlendFuncSeparate;
|
||||
import static org.lwjgl.opengl.GL20C.glUniformMatrix4fv;
|
||||
import static org.lwjgl.opengl.GL20C.glUseProgram;
|
||||
import static org.lwjgl.opengl.GL45C.glBlitNamedFramebuffer;
|
||||
import static org.lwjgl.opengl.GL45C.glGetTextureImage;
|
||||
|
||||
//Builds a texture for each face of a model
|
||||
@@ -52,8 +47,8 @@ public class ModelTextureBakery {
|
||||
private final GlTexture depthTex;
|
||||
private final GlFramebuffer framebuffer;
|
||||
private final Shader rasterShader = Shader.make()
|
||||
.add(ShaderType.VERTEX, "zenith:bakery/position_tex.vsh")
|
||||
.add(ShaderType.FRAGMENT, "zenith:bakery/position_tex.fsh")
|
||||
.add(ShaderType.VERTEX, "voxy:bakery/position_tex.vsh")
|
||||
.add(ShaderType.FRAGMENT, "voxy:bakery/position_tex.fsh")
|
||||
.compile();
|
||||
|
||||
private static final List<MatrixStack> FACE_VIEWS = new ArrayList<>();
|
||||
@@ -151,6 +146,7 @@ public class ModelTextureBakery {
|
||||
|
||||
renderLayer.endDrawing();
|
||||
glDisable(GL_STENCIL_TEST);
|
||||
glDisable(GL_BLEND);
|
||||
|
||||
RenderSystem.setProjectionMatrix(oldProjection, VertexSorter.BY_DISTANCE);
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, oldFB);
|
||||
@@ -1,11 +1,7 @@
|
||||
package me.cortex.zenith.client.core.model;
|
||||
package me.cortex.voxy.client.core.model;
|
||||
|
||||
import me.jellysquid.mods.sodium.client.util.color.ColorSRGB;
|
||||
import net.minecraft.util.math.ColorHelper;
|
||||
import org.spongepowered.asm.mixin.Overwrite;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
//Texturing utils to manipulate data from the model bakery
|
||||
public class TextureUtils {
|
||||
@@ -1,14 +1,13 @@
|
||||
package me.cortex.zenith.client.core.rendering;
|
||||
package me.cortex.voxy.client.core.rendering;
|
||||
|
||||
//NOTE: an idea on how to do it is so that any render section, we _keep_ aquired (yes this will be very memory intensive)
|
||||
// could maybe tosomething else
|
||||
|
||||
import me.cortex.zenith.client.core.gl.GlBuffer;
|
||||
import me.cortex.zenith.client.core.model.ModelManager;
|
||||
import me.cortex.zenith.client.core.rendering.building.BuiltSection;
|
||||
import me.cortex.zenith.client.core.rendering.util.UploadStream;
|
||||
import me.cortex.zenith.common.world.other.Mapper;
|
||||
import net.minecraft.block.BlockState;
|
||||
import me.cortex.voxy.client.core.gl.GlBuffer;
|
||||
import me.cortex.voxy.client.core.model.ModelManager;
|
||||
import me.cortex.voxy.client.core.rendering.building.BuiltSection;
|
||||
import me.cortex.voxy.client.core.rendering.util.UploadStream;
|
||||
import me.cortex.voxy.common.world.other.Mapper;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.render.Camera;
|
||||
import net.minecraft.client.render.Frustum;
|
||||
@@ -17,7 +16,6 @@ import org.joml.FrustumIntersection;
|
||||
import org.lwjgl.system.MemoryUtil;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentLinkedDeque;
|
||||
|
||||
import static org.lwjgl.opengl.ARBMultiDrawIndirect.glMultiDrawElementsIndirect;
|
||||
@@ -1,12 +1,12 @@
|
||||
package me.cortex.zenith.client.core.rendering;
|
||||
package me.cortex.voxy.client.core.rendering;
|
||||
|
||||
import it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap;
|
||||
import it.unimi.dsi.fastutil.longs.LongArrayList;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||
import me.cortex.zenith.client.core.gl.GlBuffer;
|
||||
import me.cortex.zenith.client.core.rendering.building.BuiltSection;
|
||||
import me.cortex.zenith.client.core.rendering.util.BufferArena;
|
||||
import me.cortex.zenith.client.core.rendering.util.UploadStream;
|
||||
import me.cortex.voxy.client.core.gl.GlBuffer;
|
||||
import me.cortex.voxy.client.core.rendering.building.BuiltSection;
|
||||
import me.cortex.voxy.client.core.rendering.util.BufferArena;
|
||||
import me.cortex.voxy.client.core.rendering.util.UploadStream;
|
||||
import org.lwjgl.system.MemoryUtil;
|
||||
|
||||
import java.util.concurrent.ConcurrentLinkedDeque;
|
||||
@@ -1,21 +1,16 @@
|
||||
package me.cortex.zenith.client.core.rendering;
|
||||
package me.cortex.voxy.client.core.rendering;
|
||||
|
||||
import com.mojang.blaze3d.platform.GlStateManager;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import me.cortex.zenith.client.core.gl.GlBuffer;
|
||||
import me.cortex.zenith.client.core.gl.shader.Shader;
|
||||
import me.cortex.zenith.client.core.gl.shader.ShaderType;
|
||||
import me.cortex.zenith.client.core.rendering.util.UploadStream;
|
||||
import me.cortex.zenith.client.mixin.joml.AccessFrustumIntersection;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.block.WallMountedBlock;
|
||||
import net.minecraft.block.enums.BlockFace;
|
||||
import me.cortex.voxy.client.core.gl.GlBuffer;
|
||||
import me.cortex.voxy.client.core.gl.shader.Shader;
|
||||
import me.cortex.voxy.client.core.gl.shader.ShaderType;
|
||||
import me.cortex.voxy.client.core.rendering.util.UploadStream;
|
||||
import me.cortex.voxy.client.mixin.joml.AccessFrustumIntersection;
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import org.joml.Matrix4f;
|
||||
import org.joml.Vector3f;
|
||||
import org.lwjgl.opengl.ARBIndirectParameters;
|
||||
import org.lwjgl.opengl.GL11C;
|
||||
import org.lwjgl.system.MemoryUtil;
|
||||
|
||||
@@ -39,19 +34,19 @@ import static org.lwjgl.opengl.GL45C.glClearNamedBufferData;
|
||||
|
||||
public class Gl46FarWorldRenderer extends AbstractFarWorldRenderer {
|
||||
private final Shader commandGen = Shader.make()
|
||||
.add(ShaderType.COMPUTE, "zenith:lod/gl46/cmdgen.comp")
|
||||
.add(ShaderType.COMPUTE, "voxy:lod/gl46/cmdgen.comp")
|
||||
.compile();
|
||||
|
||||
private final Shader lodShader = Shader.make()
|
||||
.add(ShaderType.VERTEX, "zenith:lod/gl46/quads.vert")
|
||||
.add(ShaderType.FRAGMENT, "zenith:lod/gl46/quads.frag")
|
||||
.add(ShaderType.VERTEX, "voxy:lod/gl46/quads.vert")
|
||||
.add(ShaderType.FRAGMENT, "voxy:lod/gl46/quads.frag")
|
||||
.compile();
|
||||
|
||||
|
||||
//TODO: Note the cull shader needs a different element array since its rastering cubes not quads
|
||||
private final Shader cullShader = Shader.make()
|
||||
.add(ShaderType.VERTEX, "zenith:lod/gl46/cull/raster.vert")
|
||||
.add(ShaderType.FRAGMENT, "zenith:lod/gl46/cull/raster.frag")
|
||||
.add(ShaderType.VERTEX, "voxy:lod/gl46/cull/raster.vert")
|
||||
.add(ShaderType.FRAGMENT, "voxy:lod/gl46/cull/raster.frag")
|
||||
.compile();
|
||||
|
||||
private final GlBuffer glCommandBuffer;
|
||||
@@ -1,9 +1,9 @@
|
||||
package me.cortex.zenith.client.core.rendering;
|
||||
package me.cortex.voxy.client.core.rendering;
|
||||
|
||||
import me.cortex.zenith.client.core.rendering.building.BuiltSection;
|
||||
import me.cortex.zenith.client.core.rendering.building.RenderGenerationService;
|
||||
import me.cortex.zenith.common.world.WorldEngine;
|
||||
import me.cortex.zenith.common.world.WorldSection;
|
||||
import me.cortex.voxy.client.core.rendering.building.BuiltSection;
|
||||
import me.cortex.voxy.client.core.rendering.building.RenderGenerationService;
|
||||
import me.cortex.voxy.common.world.WorldEngine;
|
||||
import me.cortex.voxy.common.world.WorldSection;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.util.math.Direction;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package me.cortex.zenith.client.core.rendering;
|
||||
package me.cortex.voxy.client.core.rendering;
|
||||
|
||||
import me.cortex.zenith.client.core.gl.GlBuffer;
|
||||
import me.cortex.zenith.client.core.rendering.util.UploadStream;
|
||||
import me.cortex.zenith.client.core.util.IndexUtil;
|
||||
import me.cortex.zenith.common.util.MemoryBuffer;
|
||||
import me.cortex.voxy.client.core.gl.GlBuffer;
|
||||
import me.cortex.voxy.client.core.rendering.util.UploadStream;
|
||||
import me.cortex.voxy.client.core.util.IndexUtil;
|
||||
import me.cortex.voxy.common.util.MemoryBuffer;
|
||||
import org.lwjgl.system.MemoryUtil;
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
package me.cortex.zenith.client.core.rendering.building;
|
||||
package me.cortex.voxy.client.core.rendering.building;
|
||||
|
||||
import me.cortex.zenith.common.util.MemoryBuffer;
|
||||
import me.cortex.voxy.common.util.MemoryBuffer;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
|
||||
//TODO: also have an AABB size stored
|
||||
public final class BuiltSection {
|
||||
@@ -1,13 +1,7 @@
|
||||
package me.cortex.zenith.client.core.rendering.building;
|
||||
package me.cortex.voxy.client.core.rendering.building;
|
||||
|
||||
|
||||
import me.cortex.zenith.client.core.model.ModelManager;
|
||||
import me.cortex.zenith.client.core.rendering.GeometryManager;
|
||||
import me.cortex.zenith.client.core.util.Mesher2D;
|
||||
import me.cortex.zenith.common.world.other.Mapper;
|
||||
import net.minecraft.client.color.block.BlockColors;
|
||||
import net.minecraft.client.world.ClientWorld;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import me.cortex.voxy.client.core.util.Mesher2D;
|
||||
|
||||
|
||||
public class QuadEncoder {
|
||||
@@ -1,14 +1,13 @@
|
||||
package me.cortex.zenith.client.core.rendering.building;
|
||||
package me.cortex.voxy.client.core.rendering.building;
|
||||
|
||||
import it.unimi.dsi.fastutil.longs.LongArrayList;
|
||||
import me.cortex.zenith.client.core.model.ModelManager;
|
||||
import me.cortex.zenith.client.core.util.Mesher2D;
|
||||
import me.cortex.zenith.common.util.MemoryBuffer;
|
||||
import me.cortex.zenith.common.world.WorldEngine;
|
||||
import me.cortex.zenith.common.world.WorldSection;
|
||||
import me.cortex.zenith.common.world.other.Mapper;
|
||||
import me.cortex.voxy.client.core.model.ModelManager;
|
||||
import me.cortex.voxy.client.core.util.Mesher2D;
|
||||
import me.cortex.voxy.common.util.MemoryBuffer;
|
||||
import me.cortex.voxy.common.world.WorldEngine;
|
||||
import me.cortex.voxy.common.world.WorldSection;
|
||||
import me.cortex.voxy.common.world.other.Mapper;
|
||||
import net.minecraft.block.FluidBlock;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import org.lwjgl.system.MemoryUtil;
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package me.cortex.zenith.client.core.rendering.building;
|
||||
package me.cortex.voxy.client.core.rendering.building;
|
||||
|
||||
import it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap;
|
||||
import me.cortex.zenith.client.core.model.ModelManager;
|
||||
import me.cortex.zenith.common.world.WorldEngine;
|
||||
import me.cortex.zenith.common.world.WorldSection;
|
||||
import me.cortex.voxy.client.core.model.ModelManager;
|
||||
import me.cortex.voxy.common.world.WorldEngine;
|
||||
import me.cortex.voxy.common.world.WorldSection;
|
||||
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.Semaphore;
|
||||
@@ -1,8 +1,7 @@
|
||||
package me.cortex.zenith.client.core.rendering.post;
|
||||
package me.cortex.voxy.client.core.rendering.post;
|
||||
|
||||
import me.cortex.zenith.client.core.gl.shader.Shader;
|
||||
import me.cortex.zenith.client.core.gl.shader.ShaderType;
|
||||
import net.minecraft.util.Identifier;
|
||||
import me.cortex.voxy.client.core.gl.shader.Shader;
|
||||
import me.cortex.voxy.client.core.gl.shader.ShaderType;
|
||||
|
||||
import static org.lwjgl.opengl.GL11C.GL_TRIANGLES;
|
||||
import static org.lwjgl.opengl.GL11C.glDrawArrays;
|
||||
@@ -15,7 +14,7 @@ public class FullscreenBlit {
|
||||
private final Shader shader;
|
||||
public FullscreenBlit(String fragId) {
|
||||
this.shader = Shader.make()
|
||||
.add(ShaderType.VERTEX, "zenith:post/fullscreen.vert")
|
||||
.add(ShaderType.VERTEX, "voxy:post/fullscreen.vert")
|
||||
.add(ShaderType.FRAGMENT, fragId)
|
||||
.compile();
|
||||
}
|
||||
@@ -1,20 +1,15 @@
|
||||
package me.cortex.zenith.client.core.rendering.post;
|
||||
package me.cortex.voxy.client.core.rendering.post;
|
||||
|
||||
import me.cortex.zenith.client.core.gl.GlFramebuffer;
|
||||
import me.cortex.zenith.client.core.gl.GlTexture;
|
||||
import me.cortex.zenith.client.core.gl.shader.Shader;
|
||||
import me.cortex.zenith.client.core.gl.shader.ShaderType;
|
||||
import org.lwjgl.opengl.GL11C;
|
||||
import me.cortex.voxy.client.core.gl.GlFramebuffer;
|
||||
import me.cortex.voxy.client.core.gl.GlTexture;
|
||||
import me.cortex.voxy.client.core.gl.shader.Shader;
|
||||
import me.cortex.voxy.client.core.gl.shader.ShaderType;
|
||||
|
||||
import static org.lwjgl.opengl.ARBFramebufferObject.*;
|
||||
import static org.lwjgl.opengl.ARBShaderImageLoadStore.glBindImageTexture;
|
||||
import static org.lwjgl.opengl.GL11.*;
|
||||
import static org.lwjgl.opengl.GL13.*;
|
||||
import static org.lwjgl.opengl.GL15C.GL_READ_WRITE;
|
||||
import static org.lwjgl.opengl.GL20C.glStencilFuncSeparate;
|
||||
import static org.lwjgl.opengl.GL44C.glBindImageTextures;
|
||||
import static org.lwjgl.opengl.GL45C.glBlitNamedFramebuffer;
|
||||
import static org.lwjgl.opengl.GL45C.glTextureBarrier;
|
||||
|
||||
public class PostProcessing {
|
||||
private final GlFramebuffer framebuffer;
|
||||
@@ -23,12 +18,8 @@ public class PostProcessing {
|
||||
private GlTexture colour;
|
||||
private GlTexture depthStencil;
|
||||
|
||||
private final Shader ssao = Shader.make()
|
||||
.add(ShaderType.COMPUTE, "zenith:lod/ssao/ssao.comp")
|
||||
.compile();
|
||||
|
||||
private final FullscreenBlit emptyBlit = new FullscreenBlit("zenith:post/noop.frag");
|
||||
private final FullscreenBlit blitTexture = new FullscreenBlit("zenith:post/blit_texture_cutout.frag");
|
||||
private final FullscreenBlit emptyBlit = new FullscreenBlit("voxy:post/noop.frag");
|
||||
private final FullscreenBlit blitTexture = new FullscreenBlit("voxy:post/blit_texture_cutout.frag");
|
||||
|
||||
public PostProcessing() {
|
||||
this.framebuffer = new GlFramebuffer();
|
||||
@@ -58,7 +49,6 @@ public class PostProcessing {
|
||||
this.framebuffer.free();
|
||||
if (this.colour != null) this.colour.free();
|
||||
if (this.depthStencil != null) this.depthStencil.free();
|
||||
this.ssao.free();
|
||||
this.emptyBlit.delete();
|
||||
this.blitTexture.delete();
|
||||
}
|
||||
@@ -70,7 +60,7 @@ public class PostProcessing {
|
||||
glBlitNamedFramebuffer(sourceFB, this.framebuffer.id, 0,0, width, height, 0,0, width, height, GL_DEPTH_BUFFER_BIT, GL_NEAREST);
|
||||
|
||||
//TODO: need to blit a fullscreen quad to generate a stencil mask of where the vanilla terrain is/isnt
|
||||
// then when rastering zenith terrain, only render to non masked areas
|
||||
// then when rastering voxy terrain, only render to non masked areas
|
||||
//Hell once the stencil mask is computed, could clear the depth buffer and use a different near/far plane
|
||||
|
||||
|
||||
@@ -92,7 +82,7 @@ public class PostProcessing {
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
|
||||
//Make zenith terrain render only where there isnt mc terrain
|
||||
//Make voxy terrain render only where there isnt mc terrain
|
||||
glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
|
||||
glStencilFunc(GL_EQUAL, 1, 0xFF);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package me.cortex.zenith.client.core.rendering.util;
|
||||
package me.cortex.voxy.client.core.rendering.util;
|
||||
|
||||
import me.cortex.zenith.client.core.gl.GlBuffer;
|
||||
import me.cortex.zenith.client.core.util.AllocationArena;
|
||||
import me.cortex.zenith.common.util.MemoryBuffer;
|
||||
import me.cortex.voxy.client.core.gl.GlBuffer;
|
||||
import me.cortex.voxy.client.core.util.AllocationArena;
|
||||
import me.cortex.voxy.common.util.MemoryBuffer;
|
||||
import org.lwjgl.system.MemoryUtil;
|
||||
|
||||
public class BufferArena {
|
||||
@@ -1,15 +1,15 @@
|
||||
package me.cortex.zenith.client.core.rendering.util;
|
||||
package me.cortex.voxy.client.core.rendering.util;
|
||||
|
||||
import it.unimi.dsi.fastutil.longs.LongArrayList;
|
||||
import me.cortex.zenith.client.core.gl.GlBuffer;
|
||||
import me.cortex.zenith.client.core.gl.GlFence;
|
||||
import me.cortex.zenith.client.core.gl.GlPersistentMappedBuffer;
|
||||
import me.cortex.zenith.client.core.util.AllocationArena;
|
||||
import me.cortex.voxy.client.core.gl.GlBuffer;
|
||||
import me.cortex.voxy.client.core.gl.GlFence;
|
||||
import me.cortex.voxy.client.core.gl.GlPersistentMappedBuffer;
|
||||
import me.cortex.voxy.client.core.util.AllocationArena;
|
||||
|
||||
import java.util.ArrayDeque;
|
||||
import java.util.Deque;
|
||||
|
||||
import static me.cortex.zenith.client.core.util.AllocationArena.SIZE_LIMIT;
|
||||
import static me.cortex.voxy.client.core.util.AllocationArena.SIZE_LIMIT;
|
||||
import static org.lwjgl.opengl.ARBDirectStateAccess.glCopyNamedBufferSubData;
|
||||
import static org.lwjgl.opengl.ARBDirectStateAccess.glFlushMappedNamedBufferRange;
|
||||
import static org.lwjgl.opengl.ARBMapBufferRange.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.core.util;
|
||||
package me.cortex.voxy.client.core.util;
|
||||
|
||||
import it.unimi.dsi.fastutil.longs.LongRBTreeSet;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.core.util;
|
||||
package me.cortex.voxy.client.core.util;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.core.util;
|
||||
package me.cortex.voxy.client.core.util;
|
||||
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import net.minecraft.client.render.*;
|
||||
@@ -1,6 +1,6 @@
|
||||
package me.cortex.zenith.client.core.util;
|
||||
package me.cortex.voxy.client.core.util;
|
||||
|
||||
import me.cortex.zenith.common.util.MemoryBuffer;
|
||||
import me.cortex.voxy.common.util.MemoryBuffer;
|
||||
import org.lwjgl.system.MemoryUtil;
|
||||
|
||||
public class IndexUtil {
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.core.util;
|
||||
package me.cortex.voxy.client.core.util;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.BitSet;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.core.util;
|
||||
package me.cortex.voxy.client.core.util;
|
||||
|
||||
import it.unimi.dsi.fastutil.ints.IntArrayList;
|
||||
import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
|
||||
@@ -1,10 +1,10 @@
|
||||
package me.cortex.zenith.client.importers;
|
||||
package me.cortex.voxy.client.importers;
|
||||
|
||||
import com.mojang.serialization.Codec;
|
||||
import me.cortex.zenith.client.core.util.ByteBufferBackedInputStream;
|
||||
import me.cortex.zenith.common.voxelization.VoxelizedSection;
|
||||
import me.cortex.zenith.common.voxelization.WorldConversionFactory;
|
||||
import me.cortex.zenith.common.world.WorldEngine;
|
||||
import me.cortex.voxy.client.core.util.ByteBufferBackedInputStream;
|
||||
import me.cortex.voxy.common.voxelization.VoxelizedSection;
|
||||
import me.cortex.voxy.common.voxelization.WorldConversionFactory;
|
||||
import me.cortex.voxy.common.world.WorldEngine;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.mixin.joml;
|
||||
package me.cortex.voxy.client.mixin.joml;
|
||||
|
||||
import org.joml.FrustumIntersection;
|
||||
import org.joml.Vector4f;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.mixin.minecraft;
|
||||
package me.cortex.voxy.client.mixin.minecraft;
|
||||
|
||||
import net.minecraft.client.render.BackgroundRenderer;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
@@ -1,6 +1,6 @@
|
||||
package me.cortex.zenith.client.mixin.minecraft;
|
||||
package me.cortex.voxy.client.mixin.minecraft;
|
||||
|
||||
import me.cortex.zenith.client.IGetVoxelCore;
|
||||
import me.cortex.voxy.client.IGetVoxelCore;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.world.ClientChunkManager;
|
||||
import net.minecraft.util.math.ChunkPos;
|
||||
@@ -1,6 +1,6 @@
|
||||
package me.cortex.zenith.client.mixin.minecraft;
|
||||
package me.cortex.voxy.client.mixin.minecraft;
|
||||
|
||||
import me.cortex.zenith.client.IGetVoxelCore;
|
||||
import me.cortex.voxy.client.IGetVoxelCore;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.gui.hud.DebugHud;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.mixin.minecraft;
|
||||
package me.cortex.voxy.client.mixin.minecraft;
|
||||
|
||||
import net.minecraft.client.render.GameRenderer;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.mixin.minecraft;
|
||||
package me.cortex.voxy.client.mixin.minecraft;
|
||||
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.RunArgs;
|
||||
@@ -1,8 +1,8 @@
|
||||
package me.cortex.zenith.client.mixin.minecraft;
|
||||
package me.cortex.voxy.client.mixin.minecraft;
|
||||
|
||||
import me.cortex.zenith.client.IGetVoxelCore;
|
||||
import me.cortex.zenith.client.config.ZenithConfig;
|
||||
import me.cortex.zenith.client.core.VoxelCore;
|
||||
import me.cortex.voxy.client.IGetVoxelCore;
|
||||
import me.cortex.voxy.client.config.VoxyConfig;
|
||||
import me.cortex.voxy.client.core.VoxelCore;
|
||||
import net.minecraft.client.render.*;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.client.world.ClientWorld;
|
||||
@@ -68,7 +68,7 @@ public abstract class MixinWorldRenderer implements IGetVoxelCore {
|
||||
this.core.shutdown();
|
||||
this.core = null;
|
||||
}
|
||||
if (ZenithConfig.CONFIG.enabled) {
|
||||
if (VoxyConfig.CONFIG.enabled) {
|
||||
this.core = new VoxelCore();
|
||||
}
|
||||
}
|
||||
@@ -79,7 +79,7 @@ public abstract class MixinWorldRenderer implements IGetVoxelCore {
|
||||
this.core.shutdown();
|
||||
this.core = null;
|
||||
}
|
||||
if (this.world != null && ZenithConfig.CONFIG.enabled) {
|
||||
if (this.world != null && VoxyConfig.CONFIG.enabled) {
|
||||
this.core = new VoxelCore();
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.mixin.sodium;
|
||||
package me.cortex.voxy.client.mixin.sodium;
|
||||
|
||||
import me.jellysquid.mods.sodium.client.render.chunk.occlusion.OcclusionCuller;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
@@ -1,13 +1,11 @@
|
||||
package me.cortex.zenith.client.mixin.sodium;
|
||||
package me.cortex.voxy.client.mixin.sodium;
|
||||
|
||||
import me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer;
|
||||
import me.jellysquid.mods.sodium.client.render.chunk.occlusion.OcclusionCuller;
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(value = SodiumWorldRenderer.class, remap = false)
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.terrain;
|
||||
package me.cortex.voxy.client.terrain;
|
||||
|
||||
import net.minecraft.registry.entry.RegistryEntry;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.client.terrain;
|
||||
package me.cortex.voxy.client.terrain;
|
||||
|
||||
import com.mojang.brigadier.CommandDispatcher;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
@@ -1,10 +1,10 @@
|
||||
package me.cortex.zenith.client.terrain;
|
||||
package me.cortex.voxy.client.terrain;
|
||||
|
||||
import com.mojang.brigadier.arguments.StringArgumentType;
|
||||
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||
import com.mojang.brigadier.context.CommandContext;
|
||||
import me.cortex.zenith.client.IGetVoxelCore;
|
||||
import me.cortex.zenith.client.importers.WorldImporter;
|
||||
import me.cortex.voxy.client.IGetVoxelCore;
|
||||
import me.cortex.voxy.client.importers.WorldImporter;
|
||||
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
|
||||
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.common.util;
|
||||
package me.cortex.voxy.common.util;
|
||||
|
||||
import org.lwjgl.system.MemoryUtil;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.common.util;
|
||||
package me.cortex.voxy.common.util;
|
||||
|
||||
import java.lang.ref.Cleaner;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.common.util;
|
||||
package me.cortex.voxy.common.util;
|
||||
|
||||
public class VolatileHolder <T> {
|
||||
public volatile T obj;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.common.voxelization;
|
||||
package me.cortex.voxy.common.voxelization;
|
||||
|
||||
public interface I3dSupplier <T> {
|
||||
T supply(int x, int y, int z);
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.common.voxelization;
|
||||
package me.cortex.voxy.common.voxelization;
|
||||
|
||||
import net.minecraft.block.BlockState;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package me.cortex.zenith.common.voxelization;
|
||||
package me.cortex.voxy.common.voxelization;
|
||||
|
||||
|
||||
import me.cortex.zenith.common.world.other.Mapper;
|
||||
import me.cortex.voxy.common.world.other.Mapper;
|
||||
|
||||
//16x16x16 block section
|
||||
public class VoxelizedSection {
|
||||
@@ -1,7 +1,7 @@
|
||||
package me.cortex.zenith.common.voxelization;
|
||||
package me.cortex.voxy.common.voxelization;
|
||||
|
||||
import me.cortex.zenith.common.world.other.Mipper;
|
||||
import me.cortex.zenith.common.world.other.Mapper;
|
||||
import me.cortex.voxy.common.world.other.Mipper;
|
||||
import me.cortex.voxy.common.world.other.Mapper;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.registry.entry.RegistryEntry;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
@@ -1,7 +1,7 @@
|
||||
package me.cortex.zenith.common.world;
|
||||
package me.cortex.voxy.common.world;
|
||||
|
||||
import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap;
|
||||
import me.cortex.zenith.common.util.VolatileHolder;
|
||||
import me.cortex.voxy.common.util.VolatileHolder;
|
||||
|
||||
public class ActiveSectionTracker {
|
||||
//Deserialize into the supplied section, returns true on success, false on failure
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.common.world;
|
||||
package me.cortex.voxy.common.world;
|
||||
|
||||
import it.unimi.dsi.fastutil.longs.Long2ShortOpenHashMap;
|
||||
import it.unimi.dsi.fastutil.longs.LongArrayList;
|
||||
@@ -1,10 +1,10 @@
|
||||
package me.cortex.zenith.common.world;
|
||||
package me.cortex.voxy.common.world;
|
||||
|
||||
import me.cortex.zenith.common.voxelization.VoxelizedSection;
|
||||
import me.cortex.zenith.common.world.other.Mapper;
|
||||
import me.cortex.zenith.common.world.service.SectionSavingService;
|
||||
import me.cortex.zenith.common.world.service.VoxelIngestService;
|
||||
import me.cortex.zenith.common.world.storage.StorageBackend;
|
||||
import me.cortex.voxy.common.voxelization.VoxelizedSection;
|
||||
import me.cortex.voxy.common.world.other.Mapper;
|
||||
import me.cortex.voxy.common.world.service.SectionSavingService;
|
||||
import me.cortex.voxy.common.world.service.VoxelIngestService;
|
||||
import me.cortex.voxy.common.world.storage.StorageBackend;
|
||||
import org.lwjgl.system.MemoryUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.common.world;
|
||||
package me.cortex.voxy.common.world;
|
||||
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -1,7 +1,7 @@
|
||||
package me.cortex.zenith.common.world.other;
|
||||
package me.cortex.voxy.common.world.other;
|
||||
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||
import me.cortex.zenith.common.world.storage.StorageBackend;
|
||||
import me.cortex.voxy.common.world.storage.StorageBackend;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
@@ -1,6 +1,6 @@
|
||||
package me.cortex.zenith.common.world.other;
|
||||
package me.cortex.voxy.common.world.other;
|
||||
|
||||
import static me.cortex.zenith.common.world.other.Mapper.withLight;
|
||||
import static me.cortex.voxy.common.world.other.Mapper.withLight;
|
||||
|
||||
//Mipper for data
|
||||
public class Mipper {
|
||||
@@ -1,8 +1,8 @@
|
||||
package me.cortex.zenith.common.world.service;
|
||||
package me.cortex.voxy.common.world.service;
|
||||
|
||||
import me.cortex.zenith.common.world.SaveLoadSystem;
|
||||
import me.cortex.zenith.common.world.WorldEngine;
|
||||
import me.cortex.zenith.common.world.WorldSection;
|
||||
import me.cortex.voxy.common.world.SaveLoadSystem;
|
||||
import me.cortex.voxy.common.world.WorldEngine;
|
||||
import me.cortex.voxy.common.world.WorldSection;
|
||||
import org.lwjgl.system.MemoryUtil;
|
||||
|
||||
import java.util.concurrent.ConcurrentLinkedDeque;
|
||||
@@ -1,9 +1,9 @@
|
||||
package me.cortex.zenith.common.world.service;
|
||||
package me.cortex.voxy.common.world.service;
|
||||
|
||||
import it.unimi.dsi.fastutil.Pair;
|
||||
import me.cortex.zenith.common.voxelization.VoxelizedSection;
|
||||
import me.cortex.zenith.common.voxelization.WorldConversionFactory;
|
||||
import me.cortex.zenith.common.world.WorldEngine;
|
||||
import me.cortex.voxy.common.voxelization.VoxelizedSection;
|
||||
import me.cortex.voxy.common.voxelization.WorldConversionFactory;
|
||||
import me.cortex.voxy.common.world.WorldEngine;
|
||||
import net.minecraft.util.math.ChunkSectionPos;
|
||||
import net.minecraft.world.LightType;
|
||||
import net.minecraft.world.chunk.ChunkNibbleArray;
|
||||
@@ -1,10 +1,9 @@
|
||||
package me.cortex.zenith.common.world.storage;
|
||||
package me.cortex.voxy.common.world.storage;
|
||||
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||
import it.unimi.dsi.fastutil.ints.Int2ShortOpenHashMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
|
||||
import me.cortex.zenith.common.world.storage.lmdb.LMDBStorageBackend;
|
||||
import me.cortex.voxy.common.world.storage.lmdb.LMDBStorageBackend;
|
||||
import net.minecraft.util.math.random.RandomSeed;
|
||||
|
||||
import java.io.File;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.common.world.storage;
|
||||
package me.cortex.voxy.common.world.storage;
|
||||
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package me.cortex.zenith.common.world.storage.lmdb;
|
||||
package me.cortex.voxy.common.world.storage.lmdb;
|
||||
|
||||
import org.lwjgl.util.lmdb.MDBVal;
|
||||
|
||||
import static me.cortex.zenith.common.world.storage.lmdb.LMDBInterface.E;
|
||||
import static me.cortex.voxy.common.world.storage.lmdb.LMDBInterface.E;
|
||||
import static org.lwjgl.util.lmdb.LMDB.*;
|
||||
|
||||
public class Cursor implements AutoCloseable {
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.common.world.storage.lmdb;
|
||||
package me.cortex.voxy.common.world.storage.lmdb;
|
||||
|
||||
import org.lwjgl.PointerBuffer;
|
||||
import org.lwjgl.system.MemoryStack;
|
||||
@@ -1,7 +1,7 @@
|
||||
package me.cortex.zenith.common.world.storage.lmdb;
|
||||
package me.cortex.voxy.common.world.storage.lmdb;
|
||||
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||
import me.cortex.zenith.common.world.storage.StorageBackend;
|
||||
import me.cortex.voxy.common.world.storage.StorageBackend;
|
||||
import org.lwjgl.system.MemoryUtil;
|
||||
import org.lwjgl.util.lmdb.MDBVal;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.common.world.storage.lmdb;
|
||||
package me.cortex.voxy.common.world.storage.lmdb;
|
||||
|
||||
import org.lwjgl.system.MemoryStack;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.common.world.storage.lmdb;
|
||||
package me.cortex.voxy.common.world.storage.lmdb;
|
||||
|
||||
public interface TransactionWrappedCallback<T> {
|
||||
T exec(TransactionWrapper wrapper);
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.cortex.zenith.common.world.storage.lmdb;
|
||||
package me.cortex.voxy.common.world.storage.lmdb;
|
||||
|
||||
import org.lwjgl.PointerBuffer;
|
||||
import org.lwjgl.system.MemoryStack;
|
||||
@@ -6,7 +6,7 @@ import org.lwjgl.util.lmdb.MDBVal;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
import static me.cortex.zenith.common.world.storage.lmdb.LMDBInterface.E;
|
||||
import static me.cortex.voxy.common.world.storage.lmdb.LMDBInterface.E;
|
||||
import static org.lwjgl.system.MemoryStack.stackPush;
|
||||
import static org.lwjgl.util.lmdb.LMDB.*;
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
|
||||
layout(local_size_x = 128, local_size_y = 1, local_size_x = 1) in;
|
||||
|
||||
#import <zenith:lod/gl46/quad_format.glsl>
|
||||
#import <zenith:lod/gl46/bindings.glsl>
|
||||
#import <zenith:lod/gl46/frustum.glsl>
|
||||
#import <zenith:lod/gl46/section.glsl>
|
||||
#import <voxy:lod/gl46/quad_format.glsl>
|
||||
#import <voxy:lod/gl46/bindings.glsl>
|
||||
#import <voxy:lod/gl46/frustum.glsl>
|
||||
#import <voxy:lod/gl46/section.glsl>
|
||||
#line 11
|
||||
|
||||
//https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_shader_16bit_storage.txt
|
||||
@@ -1,7 +1,7 @@
|
||||
#version 460 core
|
||||
#extension GL_ARB_gpu_shader_int64 : enable
|
||||
#define VISIBILITY_ACCESS writeonly
|
||||
#import <zenith:lod/gl46/bindings.glsl>
|
||||
#import <voxy:lod/gl46/bindings.glsl>
|
||||
layout(early_fragment_tests) in;
|
||||
|
||||
flat in uint id;
|
||||
@@ -1,8 +1,8 @@
|
||||
#version 460 core
|
||||
#extension GL_ARB_gpu_shader_int64 : enable
|
||||
#define VISIBILITY_ACCESS writeonly
|
||||
#import <zenith:lod/gl46/bindings.glsl>
|
||||
#import <zenith:lod/gl46/section.glsl>
|
||||
#import <voxy:lod/gl46/bindings.glsl>
|
||||
#import <voxy:lod/gl46/section.glsl>
|
||||
|
||||
flat out uint id;
|
||||
flat out uint value;
|
||||
@@ -1,9 +1,9 @@
|
||||
#version 460 core
|
||||
#extension GL_ARB_gpu_shader_int64 : enable
|
||||
|
||||
#import <zenith:lod/gl46/quad_format.glsl>
|
||||
#import <zenith:lod/gl46/bindings.glsl>
|
||||
#import <zenith:lod/gl46/block_model.glsl>
|
||||
#import <voxy:lod/gl46/quad_format.glsl>
|
||||
#import <voxy:lod/gl46/bindings.glsl>
|
||||
#import <voxy:lod/gl46/block_model.glsl>
|
||||
#line 8
|
||||
|
||||
layout(location = 0) out vec2 uv;
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
layout(binding=0) uniform sampler2D colourTexture;
|
||||
in vec2 uv;
|
||||
void main() {
|
||||
gl_Colour = texture(colourTexture, uv);
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
|
||||
void main() {
|
||||
gl_Position =
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
#version 460
|
||||
layout(local_size_x = 32, local_size_y = 32, local_size_x = 1) in;
|
||||
|
||||
layout(binding=0,rgba8) restrict uniform image2D colourTexture;
|
||||
layout(binding=1) uniform sampler2D depthTexture;
|
||||
void main() {
|
||||
float d = texture2D(depthTexture, vec2(gl_GlobalInvocationID.xy)/vec2(1024)).x;
|
||||
d = 1/d;
|
||||
d = d/2;
|
||||
imageStore(colourTexture, ivec2(gl_GlobalInvocationID.xy), vec4(d,d,d,1));
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user