-
Posts
23,126 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Blog Comments posted by Josh
-
-
5 minutes ago, Genebris said:
Unrelated, but do you plan to add mip maps streaming from disk depending on distance?
What would that be used for?
-
-
Animation is done with a 3D texture. When more than one texture layer exists, as in 3D textures and cube maps, a layer selector appears that lets you select the layer to view.
- 1
-
-
Are you saying that marching cubes creates some "stair-stepping" due to the fact the minimum change in elevation is equal to the voxel size, so the minimum change in height is equal to the distance between terrain points?
-
"Story"
-
Other name ideas:
- Comment
- Chitchat
- Remark
-
That is so cool. It's even simpler than Dark Basic. You could call it "Human" if you wanted to.
-
Congratulations. Everyone should try this game.
- 1
-
Same here. I can't even see the missing headers in the Scintilla repository here:
https://github.com/mirror/scintilla/search?q=ScintillaStructures.h -
Do you think Scintilla can be compiled as a DLL module for Lua to call? It would be interesting to see if we can add a script editor tool as an extension:
local function hook(event, scripteditor) --Catch menu event to open script editor if event.id == EVENT_WIDGETACTION then if event.source == scripteditor.menuitem then scripteditor.window:SetHidden(false) scripteditor.window:Activate() end --Intercept asset browser open asset event else if event.id == EVENT_OPENASSET then ext = string.lower(ExtractExt(event.text)) --If it's a code file let's steal the event if ext == "vert" or ext == "frag" or ext == "lua" then local code = LoadString(event.text) scripteditor.codearea:SetText(code) scripteditor.window:SetHidden(false) scripteditor.window:Activate() return false --the rest of the program will never see the event! ha-ha end end end local menu = program.menu:FindChild("Tools") local scripteditor = {} scripteditor.window = CreateWindow("Script Editor", 0,0,800,600,program.window, WINDOW_TITLEBAR + WINDOW_RESIZABLE) scripteditor.ui = CreateInterface(scripteditor.window) scripteditor.codearea = CreateCodeArea()---TODO! scripteditor.menuitem = CreateMenu("Script Editor", menu) --Listen for events ListenEvent(EVENT_WIDGETACTION, scripteditor.menuitem, hook, scripteditor) ListenEvent(EVENT_OPENASSET, program.assetbrowser, hook, scripteditor)
-
Ultra Engine SDK Now Available
in Ultra Software Company Blog
A group blog by The Ultra Software Team in General
Currently it supports wav for sound. I want to add ogg and mp3 as plugins but I haven’t added support for sound loader plugins yet.
- 2
-
Ultra Engine SDK Now Available
in Ultra Software Company Blog
A group blog by The Ultra Software Team in General
A big thanks goes to @klepto2, @reepblue, and @SpiderPig for their help in final testing. They identified so many small issues and tested the new engine really well!
Work-in-progress shots of the new editor in development:
- 8
- 1
-
22 minutes ago, DoomSlayer said:
Is the flowgraph coming back when Lua support is added?
Thinking better to that happening, you need to finish the new editor first. Right?
It requires the new editor, but everything has already been designed in anticipation of this. It will even work with the C++ entity component system.
- 2
-
10 hours ago, Thirsty Panther said:
Leadwerks could load FBX models, is that possible with Ultra or will we need a plugin?
Will Leadwerks scripts work in Ultra?
Are we close to a release of Ultra?
Thanks.
The Leadwerks editor automatically converts FBX files to MDL, and that is what Leadwerks actually loads. You can load those, or you can use the included FBX to glTF converter to convert to glTF and load that.
Lua support is not finished yet. It will allow multiple scripts, much better debugging in VSCode, and the Lua garbage collector will work together with C++ shared pointers so that invalid pointer errors are a thing of the past. I will have to look into it further, but I think Leadwerks scripts can probably be remapped to Ultra, at least most of the way.
Ultra is nearly ready. At this point I am mostly just writing documentation and debugging.
- 6
-
I also tried training playform.io with all the Gothic textures from Quake 3 Arena. The results are interesting, and clearly have a similar feel to the source material. However, I would not call these images useful for anything:
- 1
-
@chsch Can you train centipede diffusion with your own images?
-
More startlingly good images. If you could just train it on a set of game textures the output would be much better:
- 1
-
- 1
-
- 2
-
-
-
-
What I ended up doing is running an HDR file through the IBL sampler above, then loading the KTX2, converting the mipmaps to BC6H, and saving as a DDS:
auto plg = LoadPlugin("Plugins/KTX2TextureLoader"); auto plg2 = LoadPlugin("Plugins/ISPCTexComp"); auto skybox = LoadTexture("Materials/Environments/Cloudy Blue/specular.ktx2", LOAD_MIPCHAIN); std::vector<shared_ptr<Pixmap> > mipmaps; for (int layer = 0; layer < skybox->mipchain.size(); ++layer) { for (int miplevel = 0; miplevel < skybox->CountMipmaps(); ++miplevel) { auto mipmap = skybox->mipchain[layer][miplevel]; mipmaps.push_back(mipmap->Convert(TEXTURE_BC6H)); } } SaveTexture("Materials/Environments/Cloudy Blue/specular.dds", TEXTURE_CUBE, mipmaps, 6);
Editor Development Continues
in Development Blog
A blog by Josh in General
Posted
RAM or VRAM? Textures should not consume any system memory.