Jump to content

Josh

Staff
  • Posts

    24,629
  • Joined

  • Last visited

Everything posted by Josh

  1. Updated code for generating cubemap: #include "UltraEngine.h" using namespace UltraEngine; // https://www.ultraengine.com/community/blogs/entry/2780-building-a-single-file-4k-hdr-skybox-with-bc6-compression/ int main(int argc, const char* argv[]) { //Settings const bool compression = true; // Load required plugin auto fiplugin = LoadPlugin("Plugins/FITextureLoader"); auto cplugin = LoadPlugin("Plugins/ISPCTexComp"); // Load cube faces output from https://matheowis.github.io/HDRI-to-CubeMap/ std::vector<std::shared_ptr<Pixmap> > mipchain; WString files[6] = { "px.hdr", "nx.hdr", "py.hdr", "ny.hdr", "pz.hdr", "nz.hdr" }; for (int n = 0; n < 6; ++n) { auto pixmap = LoadPixmap(files[n]); Assert(pixmap); if (pixmap->format != VK_FORMAT_R16G16B16A16_SFLOAT) { pixmap = pixmap->Convert(TextureFormat(VK_FORMAT_R16G16B16A16_SFLOAT));// this step is required for BC6H conversion } while (true) { auto mipmap = pixmap; if (compression) mipmap = mipmap->Convert(TEXTURE_BC6H); Assert(mipmap); mipchain.push_back(mipmap); auto size = pixmap->size; if (size.x == mipmap->blocksize and size.y == mipmap->blocksize) break; size /= 2; pixmap = pixmap->Resize(size.x, size.y); Assert(pixmap); } } // Save cubemap SaveTexture("skybox.dds", TEXTURE_CUBE, mipchain, 6); return 0; }
  2. Just making sure. It's not terribly surprising, this is some of the more obscure functionality in the engine, but it is very cool. The Ultra properties get stored in the glTF extras property, and they will actually survive a round trip into and back out of Blender.
  3. This is in the asset editor window? https://www.ultraengine.com/learn/asseteditor
  4. I believe this is fixed now. (Update is available.)
  5. I don't understand why you would want to combine two different operations like that?
  6. You know how to create a prefab in Leadwerks, right? Right-click on the object in the scene tree and select the "Save as prefab" menu item...
  7. Agreed. I am still polishing, and it seems like the stuff the user interacts with first comes very last in my process. I believe all these issues are fixed. Please let me know if you spot anything else.
  8. In Leadwerks,. there is a collapse tool in the model editor.
  9. In Ultra, the Model:Collapse method will do this: https://www.ultraengine.com/learn/Model_Collapse
  10. I just had the command exposed incorrectly in the Lua binding code. It's fixed in the editor now and the fix is uploaded.
  11. Maybe an explanation: https://community.khronos.org/t/cascaded-shadow-map-bug-between-splits/66929/11
  12. i believe this is fixed now. I only checked color.
  13. I got an interesting response that sounds right: https://community.amd.com/t5/opengl-vulkan/cascaded-shadow-map-artifacts-in-glsl/m-p/637976#M5009
  14. Issue is fixed, compiling the static lib now...
  15. DDS if you only want to run on PC. Basis if you want to run natively on Oculus Quest in the future. For glTF, use glTF + bin file, with external textures. You should store textures in PNG and DDS / Basis so you can load the models back into a modeling program.
  16. Hmmm...I still have not made up my mind. What is our "native" texture format? DDS, Basis, or KTX2?
  17. Updated the static lib with all recent changes.
  18. The code example is working fine for me. The editor doesn't actually set anything to be static in-editor, it just stores a value that goes into the map file.
  19. Okay, if the texture does not have a file path it just gets embedded in the map file. The flexibility of the JSON format is nice, but I have to be careful not to be too loose with how data is stored. An update is available now, only works in the editor right now.
  20. That was a mistake. It was hard-coded for my 4K monitor. I'm not sure right now if it should use scaling at all in the default window creation. The user is most likely to do a 1920x1080 fullscreen window, even if the display supports a higher resolution.
  21. Yes, you are correct. Leadwerks maps store terrain textures. Ultra maps store terrain materials. When a Leadwerks map is loaded a material is created, but there is no material path to save in the Ultra map file... Let me think about this...
×
×
  • Create New...