Jump to content

Josh

Staff
  • Posts

    24,629
  • Joined

  • Last visited

Everything posted by Josh

  1. WIP information here: https://github.com/UltraEngine/Documentation/blob/master/pbrmaterials.md
  2. I don't understand your terminology here. Are you deleting limbs of a model that is placed in the editor? Can I see the model and an example map?
  3. I updated the example with the Vulkan 1.2 nonuniform features and sent a new download link to AMD.
  4. Added VK_FORMAT_BC6H_UFLOAT_BLOCK to the list of recognized pixel formats in the asset editor, although I still do not have any way to convert these images to RGBA for viewing.
  5. Also, I have been unable to find any simple code that converts a BC6 image back to RGBA. There are two libraries that are both pretty big: https://github.com/hglm/detex https://github.com/hglm/texgenpack
  6. Yeah, I thought about that. There is a Pixmap::Sample command which will accept texcoords and return a sample with bilinear filtering. So I think the program would be something like this (might have errors): for (int n = 0; n < 6) for (int x = 0; x < w) for (int y = 0; y < w) Vec3 dir = figure out vector for this pixel float v = ACos(dir.y) / 90.0f float u = ATan(dir.z, dir.x) / 360.0f color = hdri->Sample(u,v) cubeface[n]->WritePixel(u, v, color) Then you could just input single HDRIs like this and spit out the specular and diffuse cubemaps: https://polyhaven.com/hdris
  7. The asset browser actually does not use Vulkan for rendering. Rather, it loads the texture as a pixmap and converts the pixel format to BGRA, then displays it on a panel as a pixmap. It would be helpful to get the cubemap you saved, because otherwise I am not sure what I am looking for. There are several possible points of failure: The saved cubemap might really be black Loading a pixmap from a cubemap might not be working Converting the cubemaps's pixel format to BGRA might not be working
  8. This might be useful to you: https://github.com/UltraEngine/IBLSampler My copy of the cli.exe program compiled from this project was compressed with UPX and now Windows is aggressively deleting the EXE. I was not able to recompile it...it requires a lot of external libraries and I don't think this project is actively maintained. So I wrote the program linked to above to do the same thing, although it is not very polished: https://github.com/KhronosGroup/glTF-IBL-Sampler I used this to generate the new default skybox / reflection maps.
  9. Fixed bug where materials generated for texture would have wrong file path for occlusion / metal / roughness texture.
  10. Materials are embedded in the model file and can be accessed in the asset editor. Maybe the material is set to be transparent? I should write up a page about PBR materials and lighting. There are many settings that contribute to the final appearance of a surface.
  11. Updated preview.exe so it loads the default spec / diffuse maps. It was trying to load the old one that no longer exists, which would make model and material thumbnails darker than they should be. You can delete the C:/ProgramData/Ultra Engine/Thumbnails folder if you wish to regenerate all thumbnails.
  12. New client app is uploaded here: https://www.ultraengine.com/files/UltraClient.exe The versioning is changed to avoid confusion with the engine itself. This one is labeled "Build 23". Project creation / management is now completely removed from the client, since it has been implemented in the editor. Ultra Engine is now accessible for all people who pre-ordered it using the client linked to above.
  13. Copy and paste in editor won't copy the world settings now. Channel 1.0.3 has been renamed to "dev". Please uninstall and re-download. In the future, the "dev" channel will be continuously updated, and locked versioned channels will be dropped along the way.
  14. Terrain is now using the same scaling scheme as brushes, where layer scale is defined in texels per meter. Terrain created in the editor will be automatically filled in with "Materials/Ground/dirt01.mat"
  15. I agree with almost everything here, but some of it can be deferred.
  16. Keys in JSON-based formats (shader families, posteffects, and materials) are all being converted to lower case. Examples: "shaderFamily" -> "shaderfamily" "OPAQUE" -> "opaque" "postEffect" -> "posteffect" You must sync your project to get the updated post-effect and shader family files. If you have any custom files this affects, you must updated them to use lower-case keys. This will a slight inconvenience, but it's better to do this now when it will only affect a few people. Map files will now use lower-case keys everywhere. A few camel-cased properties like collisionType and pickMode will be lost, but I added checks to make sure the important stuff can still be loaded from your existing maps.
  17. Keys in JSON-based formats (shader families, posteffects, and materials) are all being converted to lower case. Examples: "shaderFamily" -> "shaderfamily" "OPAQUE" -> "opaque" "postEffect" -> "posteffect" You must sync your project to get the updated shader family and post effect files. This will a slight inconvenience, but it's better to do this now when it will only affect a few people. All JSON keys in map files should now be lower-case. I kept some extra checks in so that the most important data won't be lost (brushes, etc.) but some things like collisionType and pickMode that were camel-cased will need to be reset.
  18. In the interest of getting the first version out eventually, the Appearance and Physics properties (except for collider) have been removed from the Asset Editor for now, to return in the future. This is sort of another layer of functionality I think we don't need to have in the first release.
  19. Updated Lua binaries Added FirstPersonControls Lua component. ChatGPT did a nice job converting this from C++. Interesting that you can run the same map using both C++ and Lua components. Fixed bug in preview.exe that was causing all 3D rendered thumbnails to be skipped.
  20. That was an extremely easy fix using the render layers feature. It's up now.
  21. Static lib is updated now. I have not run your example but I think it is fixed.
  22. I think what is probably happening is the brush is getting new faces applied to it, causing the transparent surface to become more opaque each time. I am fixing it so the brush will clear its own geometry before loading from a map. Currently there is no merging / collapsing of brushes when a map is loaded. It's not as important in Ultra as it was in Leadwerks, because draw calls don't slow Ultra down much. I plan to add a Map::Build() command, or add some load flag that controls whether brushes get collapsed. Once that is in, then the original brushes will be gone, so there won't be anything to reload from a game save file.
  23. I am changing the system to use OpenAL's own pause / play functionality. I had some weird stuff in there to try to accomodate the sound source limits we had with hardware OpenAL but I don't think that is an issue anymore since it is all being done on the CPU now.
  24. Updated the default start map and added some abstract textures courtesy of @reepblue
  25. Default environment map textures are now located in Materials/Environment/Default. You must sync your project to get these textures. It's more of a conventional skybox so PBR reflections won't be quite so bright white as they were before. Added first-person controls component to C++ template.
×
×
  • Create New...