Water render fix, minor refactor, README.md update
This commit is contained in:
parent
e437cc99ce
commit
26935473a3
@ -10,6 +10,7 @@
|
|||||||
- **LMB** - remove block
|
- **LMB** - remove block
|
||||||
- **RMB** - place block
|
- **RMB** - place block
|
||||||
- **F** - toggle flight mode
|
- **F** - toggle flight mode
|
||||||
|
- **N** - noclip mode
|
||||||
- **Esc** - exit
|
- **Esc** - exit
|
||||||
|
|
||||||
#### Build with CMake
|
#### Build with CMake
|
||||||
|
|||||||
@ -97,9 +97,6 @@ int _png_load(const char* file, int* width, int* height){
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
// configure second post-processing framebuffer
|
// configure second post-processing framebuffer
|
||||||
unsigned int framebuffer;
|
|
||||||
glGenFramebuffers(1, &framebuffer);
|
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
|
|
||||||
|
|
||||||
glGenTextures(1, &texture);
|
glGenTextures(1, &texture);
|
||||||
glBindTexture(GL_TEXTURE_2D, 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_WRAP_T, GL_REPEAT);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 3);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 3);
|
||||||
glGenerateMipmap(GL_TEXTURE_2D);
|
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);
|
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 );
|
png_destroy_read_struct( &png_ptr, &info_ptr, &end_info );
|
||||||
free( image_data );
|
free( image_data );
|
||||||
|
|||||||
@ -252,7 +252,7 @@ bool BlocksRenderer::isOpen(int x, int y, int z, ubyte group) const {
|
|||||||
if (id == BLOCK_VOID)
|
if (id == BLOCK_VOID)
|
||||||
return false;
|
return false;
|
||||||
const Block& block = *Block::blocks[id];
|
const Block& block = *Block::blocks[id];
|
||||||
if (block.drawGroup != group) {
|
if (block.drawGroup != group && block.lightPassing) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return !id;
|
return !id;
|
||||||
|
|||||||
@ -47,6 +47,7 @@ public:
|
|||||||
struct EngineSettings {
|
struct EngineSettings {
|
||||||
int displayWidth;
|
int displayWidth;
|
||||||
int displayHeight;
|
int displayHeight;
|
||||||
|
/* Anti-aliasing samples */
|
||||||
int displaySamples;
|
int displaySamples;
|
||||||
const char* title;
|
const char* title;
|
||||||
/* Max milliseconds that engine uses for chunks loading only */
|
/* Max milliseconds that engine uses for chunks loading only */
|
||||||
@ -177,7 +178,7 @@ Engine::~Engine() {
|
|||||||
int main() {
|
int main() {
|
||||||
setup_definitions();
|
setup_definitions();
|
||||||
try {
|
try {
|
||||||
Engine engine(EngineSettings{ 1280, 720, 1, "VoxelEngine-Cpp v13", 10 });
|
Engine engine(EngineSettings{ 1280, 720, 1, "VoxelEngine-Cpp v13", 15 });
|
||||||
engine.mainloop();
|
engine.mainloop();
|
||||||
}
|
}
|
||||||
catch (const initialize_error& err) {
|
catch (const initialize_error& err) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user