-
Posts
23,240 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Everything posted by Josh
-
Fixed Camera::SetUniform integer variables. Added Camera::SetUniform Mat3 and Mat4 overloads. Camera::SetUniform texture will work with either a GLSL uvec2 or a uint64.
-
Wouldn't it have to be cast to a uvec2? The first four bytes could form a zero and the second four bytes could be another value, and an uint would not detect that.
-
I will do this so it will choose the type based on what is in the shader, and you can use either. It also stores a shared pointer to the texture so it can't get deleted as long as it is bound to the shader: void RenderShader::SetUniform(const int location, std::shared_ptr<RenderTexture> tex) { if (not Finalize()) return; if (location < 0 or location >= uniforms.size()) return; auto& u = uniforms[location]; if (u.defined and u.resource == tex) return; if (u.size != 1) return; GLuint64 handle = 0; switch (u.type) { case GL_UNSIGNED_INT64_ARB: if (tex) handle = tex->GetHandle(); glProgramUniformHandleui64ARB(program, u.location, handle); break; case GL_UNSIGNED_INT_VEC2: if (tex) handle = tex->GetHandle(); glProgramUniform2uiv(program, u.location, 1, (GLuint*)handle); break; default: return; break; } glCheckError(); u.defined = true; u.resource = nullptr; if (handle) u.resource = tex; }
-
The only downside is you can no longer check if the value is 0 to disable the texture.
-
Don't use integer uniforms right now.
-
No, that will go out tomorrow.
-
https://www.ultraengine.com/learn/Stream_Write?lang=cpp
-
Okay, it must just be standard shadow acne then. The default setting needs adjustment.
-
-
I think this occurs because of the asynchronous culling system. If I implement GPU culling this problem will be automatically fixed.
-
@SpiderPig In the attached map, I disabled shadows on the spotlight. Do you see the same banding pattern in this map? Does it occur in the editor or only in the game? start.zip
-
Here is an example program. The thickness parameter will work in the next build that goes up: #include "UltraEngine.h" #include "ComponentSystem.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { //Get the displays auto displays = GetDisplays(); //Create a window auto window = CreateWindow("Ultra Engine", 0, 0, 1280*2, 2*720, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); //Create a world auto world = CreateWorld(); //Create a framebuffer auto framebuffer = CreateFramebuffer(window); //Create a camera auto camera = CreateCamera(world); camera->SetClearColor(0.125); camera->SetFov(70); camera->SetPosition(0, 0, -2); //Create a light auto light = CreateBoxLight(world); light->SetRotation(35, 45, 0); light->SetRange(-10, 10); //Create a box auto box = CreateBox(world); camera->AddPostEffect(LoadPostEffect("Shaders/Outline.fx")); //camera->SetUniform(0, "Thickness", 50); //Main loop while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { box->Turn(0, 1, 0); world->Update(); world->Render(framebuffer); } return 0; }
-
If I increase the number of sounds I am getting a syntax error in another part of the code...invstigating further...
-
How do I trigger the bug in your program? I tried adding this code right before the main loop but there was no error: sounds = {} for t=1, 28 do sounds[t] = LoadSound("https://raw.githubusercontent.com/UltraEngine/Documentation/master/Assets/Sound/notification.wav", LOAD_UNMANAGED ) end sounds[28]:Play() while window:KeyDown(KEY_ESCAPE) == false and window:Closed() == false do
-
Fix is available on standalone build now.
-
Ah okay, if you enable alpha discard on a material on an animated model it will display the error.
-
Wait, if it is using a fragment shader in a depth pass, it must be using alpha discard...
-
Bug fixes. Added Camera::SetUniform, for post-effect parameters.
-
I am not able to produce this bug in a new project, using the player robot model, on my Nvidia card.
-
Resizing BC7 dds pixmap makes a pic invisible/full transparent
Josh replied to Dreikblack's topic in Bug Reports
I added some code that automatically decompresses the pixmap to another format, resizes it, and compresses it again.- 1 reply
-
- 1
-
This will be fixed in the next build. The command is now called Camera::SetUniform, and it accepts the following values: int, ivec2, ivec3, ivec4, float, vec2, vec2, vec4, texture Textures will be passed as a uvec2 bindless handle. The texture will be kept in memory while it is used by a camera.
-
Map loading from asset browser now supported. Added clear button in world settings environment map fields (icon has the wrong path, will be fixed in next update)
-
https://registry.khronos.org/OpenGL/specs/gl/glspec46.core.pdf
- 1 reply
-
- 1