Jump to content

Josh

Staff
  • Posts

    23,131
  • Joined

  • Last visited

Everything posted by Josh

  1. 0.9.6 Initial implementation of the new foliage system is available. To use it, create a terrain, select the foliage tool, and add a new layer. Sync your project to get the new mesh layer shaders. Slope and height constraints currently have no effect. Mesh layers are not yet saved in maps. Collision and ray casting (picking) are not yet implemented. Imposters are not yet implemented. LOD and multiple variations within a layer (sublayers) are supported.
  2. Was it a reply to your showcase thread?
  3. It's actually in there already. extern bool SetFileTime(const WString& path, const uint64_t timestamp);
  4. Fixed terrain vertex shader for non-one scales.
  5. Replaced mouse tool menu items and hotkeys with a single menu item called "Next Tool" that can be activated with Shift + Tab. Vertex mouse tool will now make the selected vertex or edge snap to the nearest grid point. Terrain creation properties changed a little bit. Default terrain scale now set to 1.28, for easy brush alignment.
  6. This is currently not a supported feature, but I am not opposed to adding it. It will just require a little extra care because Ultra has a lot more options when it comes to image handling.
  7. Josh

    Multiple Sublayers

    The main idea of the new foliage system is that multiple sub-layers can be used to randomly choose different models to place for each instance. This allows you to automatically paint a variety of objects onto the scene, without them overlapping.
  8. z coordinate is the distance in front of the camera.
  9. Yes, I always forget which is which. Maybe these should be ScreenToWorld and WorldToScreen?
  10. Josh

    Testing Foliage System

    Weird but cool screenshot that appeared during testing...
  11. Use this overload: void AddHook(const HookID id, void (*hook)(std::shared_ptr<Object> source, std::shared_ptr<Object> extra), std::shared_ptr<Object> extra = nullptr);
  12. I have been waiting a long time for this. From this point things will progress rapidly.
  13. Apparently this requires a closed mesh: https://github.com/melax/sandbox/issues/5#issuecomment-2069836452
  14. Fixed rotation mouse tool acting wrong No longer using SPIR-V for terrain shaders, as there was some inconsistent behavior between the shaders and the compiled binaries.
  15. Drag to select functionality should be 100% accurate now and working correctly.
  16. Drag-to-select-area functionality is back, now plays nicely with all mouse tools. Fixed bad brush picking behavior.
  17. Fixed vertex and face tools, which could get weird results that did not align to the current mouse position. Vertex and mouse tools now display the up/down mouse cursor when Alt key is pressed. For now, I will keep the trenchbroom-style controls for these two tools.
  18. Changed the translation tool to use an axis gizmo, like people were asking for. Some backfaces on the gizmo model are currently missing and cannot be picked, and its appearance will improve in future updates.
  19. Some code I used to resize a cubemap. I think the mipmaps might not be correct, but that's okay: Pasting here in case I need it again auto plug = LoadPlugin("Plugins/ISPCTexComp.dll"); auto tex = LoadTexture(GetPath(PATH_DESKTOP) + "/diffuse.dds", LOAD_MIPCHAIN); auto mipchain = tex->mipchain; std::vector<shared_ptr<Pixmap> > chain2; for (auto p : mipchain) { { p = p->Convert(TEXTURE_RGBA16); p = p->Resize(256, 256); p = p->Convert(TEXTURE_BC6H); chain2.push_back(p); } } SaveTexture(GetPath(PATH_DESKTOP) + "/thumbnail_diffuse.dds", TEXTURE_CUBE, chain2, 6); return 0;
×
×
  • Create New...