Water render fix, minor refactor, README.md update

This commit is contained in:
MihailRis 2023-11-06 00:48:03 +03:00
parent e437cc99ce
commit 26935473a3
4 changed files with 4 additions and 35 deletions

View File

@ -10,6 +10,7 @@
- **LMB** - remove block
- **RMB** - place block
- **F** - toggle flight mode
- **N** - noclip mode
- **Esc** - exit
#### Build with CMake

View File

@ -97,9 +97,6 @@ int _png_load(const char* file, int* width, int* height){
return 0;
}
// configure second post-processing framebuffer
unsigned int framebuffer;
glGenFramebuffers(1, &framebuffer);
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
@ -112,37 +109,7 @@ int _png_load(const char* file, int* width, int* height){
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 3);
glGenerateMipmap(GL_TEXTURE_2D);
// glFramebufferTexture2D(GL_READ_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture, 0); // we only need a color buffer
glBindTexture(GL_TEXTURE_2D, 0);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
unsigned int framebufferms;
glGenFramebuffers(1, &framebufferms);
glBindFramebuffer(GL_FRAMEBUFFER, framebufferms);
// create a multisampled color attachment texture
glGenTextures(1, &texturems);
glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, texturems);
glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, 16, GL_RGBA, t_width, t_height, GL_TRUE);
glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D_MULTISAMPLE, texturems, 0);
glTexParameteri(GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_MAX_LEVEL, 3);
// glGenerateMipmap(GL_TEXTURE_2D_MULTISAMPLE);
glBindFramebuffer(GL_READ_FRAMEBUFFER, framebuffer);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, framebufferms);
glBlitFramebuffer(0, 0, t_width, t_height, 0, 0, t_width, t_height, GL_COLOR_BUFFER_BIT, GL_NEAREST);
glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, 0);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
png_destroy_read_struct( &png_ptr, &info_ptr, &end_info );
free( image_data );

View File

@ -252,7 +252,7 @@ bool BlocksRenderer::isOpen(int x, int y, int z, ubyte group) const {
if (id == BLOCK_VOID)
return false;
const Block& block = *Block::blocks[id];
if (block.drawGroup != group) {
if (block.drawGroup != group && block.lightPassing) {
return true;
}
return !id;

View File

@ -47,6 +47,7 @@ public:
struct EngineSettings {
int displayWidth;
int displayHeight;
/* Anti-aliasing samples */
int displaySamples;
const char* title;
/* Max milliseconds that engine uses for chunks loading only */
@ -177,7 +178,7 @@ Engine::~Engine() {
int main() {
setup_definitions();
try {
Engine engine(EngineSettings{ 1280, 720, 1, "VoxelEngine-Cpp v13", 10 });
Engine engine(EngineSettings{ 1280, 720, 1, "VoxelEngine-Cpp v13", 15 });
engine.mainloop();
}
catch (const initialize_error& err) {