* WalrusIRC

You need to have 5 posts and not be part of restricted usergroups in order to use the WalrusIRC embedded shoutbox. However, you can also access our IRC channel called #CodeWalrus via EFnet.

Author Topic: XBuilder - A Level Editor for X3D  (Read 1366 times)

0 Members and 1 Guest are viewing this topic.

Offline catastropher

  • Full User
  • Safe-haven access
  • Join Date: Apr 2015
  • Location: US
  • Posts: 138
  • Post Rating Ratio: +12/-0
    • catastropher
  • Gender: Male
XBuilder - A Level Editor for X3D
« on: December 30, 2016, 09:09:31 pm »
So one of the things that's made developing anything for X3D difficult is the lack of tools. So, I've been working on a new level editor called XBuilder! It will provide GUI tools for easily making levels. It'll also handle a number of tasks (such as building light maps) that are currently done by the engine itself. This will greatly reduce the complexity of X3D's source code. Originally, it was just going to be an X3D application, but now I'm integrating in ImGui so it'll have a real GUI. Here are a few screenshots of what I have so far. Anything in red is geometry that already exists, blue means it's selected, and gray means it's a preview of what the resulting geometry would be. Also notice that it supports input in different distance units:

(click to show/hide)

The source is of course on github. I'm going to be adding several more tools in the coming weeks. I'm going to need alpha testers so please let me know if you're interested! For the time being, I'm going to work on the texture tool so you can put a texture on a face :D


  • Calculators owned: TI-83+, TI-83+ SE, TI-84+ SE, TI-Nspire CX, TI-92+, TI-89 Titanium
Creator of X3D, a 3D portal rendering game engine for Nspire, 68k, and PC

Online xlibman

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18622
  • Post Rating Ratio: +95/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Re: XBuilder - A Level Editor for X3D
« Reply #1 on: December 31, 2016, 06:22:55 am »
Nice to see an editor and level maker. Will we be able to import textures directly in it by the way? X3D is coming along pretty nicely :3=
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline catastropher

  • Full User
  • Safe-haven access
  • Join Date: Apr 2015
  • Location: US
  • Posts: 138
  • Post Rating Ratio: +12/-0
    • catastropher
  • Gender: Male
Re: XBuilder - A Level Editor for X3D
« Reply #2 on: January 01, 2017, 07:16:34 am »
Nice to see an editor and level maker. Will we be able to import textures directly in it by the way? X3D is coming along pretty nicely :3=
Thanks! Indeed, textures can be imported into it directly (though they shouldn't be bigger than 128x128 for speed reasons!) Phase one of texture editing is done: you can now import textures and select a texture from a texture picker I created. Here's a screenshot with a bunch of textures I stole from a quake texture pack:

(click to show/hide)

The next phase is actually being able to attach a texture to a wall! This will require modifications to the level format, a new tool for the GUI, and various other changes. I'll post an update when I have it working! :D
  • Calculators owned: TI-83+, TI-83+ SE, TI-84+ SE, TI-Nspire CX, TI-92+, TI-89 Titanium
Creator of X3D, a 3D portal rendering game engine for Nspire, 68k, and PC

Online xlibman

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18622
  • Post Rating Ratio: +95/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Re: XBuilder - A Level Editor for X3D
« Reply #3 on: January 02, 2017, 03:11:01 am »
Awesome! I definitively can't wait to give this a try :) (with my own textures too)
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline catastropher

  • Full User
  • Safe-haven access
  • Join Date: Apr 2015
  • Location: US
  • Posts: 138
  • Post Rating Ratio: +12/-0
    • catastropher
  • Gender: Male
Re: XBuilder - A Level Editor for X3D
« Reply #4 on: January 16, 2017, 02:53:33 am »
I finally got the primary texture tool working! :D It allows you to put textures on the walls and adjust the following parameters:
  • texture coordinate offsets
  • angle
  • scale
This comes as part of a huge upgrade to how X3D does texture mapping. Instead of having separate wall textures, decal textures, lightmaps, etc, everything gets built into one combined "surface" for each wall. I will make a post later on explaining why surfaces are awesome, but for now, here are some screenshots of the primary texture tool:

(click to show/hide)
Next up is working on putting decal textures on wall e.g. an Aperture Science logo :D After that, I'll be writing a new lightmap compiler and updating the surface rendering to do perspective-correction every 16 pixels. I'll post an update when I have more!
  • Calculators owned: TI-83+, TI-83+ SE, TI-84+ SE, TI-Nspire CX, TI-92+, TI-89 Titanium
Creator of X3D, a 3D portal rendering game engine for Nspire, 68k, and PC

Online xlibman

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18622
  • Post Rating Ratio: +95/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Re: XBuilder - A Level Editor for X3D
« Reply #5 on: January 16, 2017, 05:58:00 am »
By having everything into one combined surface for each wall, does this mean this take more RAM? Because that could be problematic on lower-end platforms such as the TI-84 Plus CE if you ever decided to port X3D to them. Or is it just for the editor?

Nice to see new progress :)
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline catastropher

  • Full User
  • Safe-haven access
  • Join Date: Apr 2015
  • Location: US
  • Posts: 138
  • Post Rating Ratio: +12/-0
    • catastropher
  • Gender: Male
Re: XBuilder - A Level Editor for X3D
« Reply #6 on: January 16, 2017, 06:10:07 am »
Indeed, each surface will take more RAM. However, I'm taking the approach that Quake did: surface caching. When the level first loads, none of the surfaces are built. When a wall is seen, the surface is built and cached. In subsequent frames, the cached version of the texture is used. If the wall hasn't been seen for a few frames though, the memory is released. As only a portion of the walls are ever visible at any given moment, the memory penalty shouldn't be too high. Quake reserved 500k for surface cache iirc. It's difficult to estimate how much memory will be necessary though... I'll have to experiment once I have a real level to play with :)
  • Calculators owned: TI-83+, TI-83+ SE, TI-84+ SE, TI-Nspire CX, TI-92+, TI-89 Titanium
Creator of X3D, a 3D portal rendering game engine for Nspire, 68k, and PC

Online xlibman

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18622
  • Post Rating Ratio: +95/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Re: XBuilder - A Level Editor for X3D
« Reply #7 on: January 16, 2017, 06:12:10 am »
Maybe on lower-end platforms you could just use smaller textures? The PS1 and N64 often made use of low-res textures like this. The TI-84 Plus CE only has 150 KB of user RAM (I think 256 KB total?)
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline TheMachine02

  • Full User
  • Join Date: Dec 2014
  • Location:
  • Posts: 344
  • Post Rating Ratio: +14/-0
Re: XBuilder - A Level Editor for X3D
« Reply #8 on: January 16, 2017, 10:58:50 am »
Yeah I dont know if surface texture in the same way quake did could be possible. In my undrstanding it also add quite some work per pixel although this might come from the SBuffer. I would love to see X3D on CE though, keep up the good work !

Offline catastropher

  • Full User
  • Safe-haven access
  • Join Date: Apr 2015
  • Location: US
  • Posts: 138
  • Post Rating Ratio: +12/-0
    • catastropher
  • Gender: Male
Re: XBuilder - A Level Editor for X3D
« Reply #9 on: January 20, 2017, 03:39:33 am »
Thanks guys! :D I'm going to take development one step at a time. First I'm going to get it to run, then I'll make it run fast and with low amounts of memory. For now though, I have an exciting new feature working: decal textures! In addition to being to put a primary texture on a wall, you can now add decal textures (such as Walrii and the Aperture logo in the screenshot below!)

(click to show/hide)

I have many more exciting features in the works! Mwhahahah- *cough cough wheeze*
  • Calculators owned: TI-83+, TI-83+ SE, TI-84+ SE, TI-Nspire CX, TI-92+, TI-89 Titanium
Creator of X3D, a 3D portal rendering game engine for Nspire, 68k, and PC

Online xlibman

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18622
  • Post Rating Ratio: +95/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Re: XBuilder - A Level Editor for X3D
« Reply #10 on: January 20, 2017, 06:05:59 am »
Are decals textures textures that only takes a part of a surface or are not necessarily bitmaps?. Also looks cool, as always

:3=
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

 


You can also use the following HTML or bulletin board code to share it on your page or forum signature!


Also do not forget to check our affiliates below.
Planet Casio TI-Planet Calc.news BroniesQC BosaikNet Velocity Games