Ar_e_en Posted April 8, 2022 (edited) I was watching decino play "UAC Invasion: The Supply Depot" - a GZDoom map that uses voxels, and it made me think if it was possible to implement voxels in other DOOM ports. So I made a little test map (Boom compatible and tested in Woof, just because I wanted to add a compblue waterfall) with a fake voxel model of a deer made out of mid-textures. I didn't use any 3D software and the results aren't perfect, but I do think that there is merit to the idea. Maybe it is possible to convert a voxel model into a set of textures that can be used to create a fake voxel model in other more basic ports like Woof, PRBoom+, DSDA or even Vanilla. @jval might have more knowledge on this, guy has done a lot of work with real voxels! This also feels like an idea that has been done before, so if you know any wads that have done something like this - let me know! FakeVoxelDeer.zip Edited April 9, 2022 by Ar_e_en Tested in Woof with "Boom" complevel 36 Quote Share this post Link to post
Ludi Posted April 8, 2022 I've always thought about this as a possibility, but never implemented it into a map. This is really cool! Cute deer btw <3 4 Quote Share this post Link to post
kwc Posted April 8, 2022 (edited) Very creative! I've seen similar things occasionally in random wads, although not to the level of detail or care you demonstrated. I really like using midtexture to "fake" 3D detailing where applicable. Understanding its inherent tradeoffs (hollow top-bottom, those odd risks for slime or bleed that comes with detailing, aesthetic hang-ups, engine limitations, etc), out of genuine interest, would any with engine-knowledge be able to speak as to whether or not this method would have more/less processing requirements than voxels currently do? As far as I understand, from the times I've seen it discussed in the past, voxels are already pretty demanding. Although it is cool, one way or another, that the alternative is still ever-present in ports that don't support voxels. Edited April 8, 2022 by kwc 2 Quote Share this post Link to post
Ar_e_en Posted April 8, 2022 11 minutes ago, Sr_Ludicolo said: Cute deer btw <3 Thank you! It's based off of the classic wood-carving deer model if you're interested. 6 Quote Share this post Link to post
Ar_e_en Posted April 8, 2022 4 minutes ago, kwc said: Very creative! I've seen similar things occasionally in random wads, although not to the level of detail or care you demonstrated. I really like using midtexture to "fake" 3D detailing where applicable. Understanding its inherent tradeoffs (hollow top-bottom, those odd risks for slime or bleed that comes with detailing, aesthetic hang-ups, etc), out of genuine interest, would any with engine-knowledge be able to speak as to whether or not this method would have more/less processing requirements than voxels currently do? As far as I understand, from the times I've seen it discussed in the past, voxels are already pretty demanding. I'm no engine expert, but the way that I had set up the model in the test map is very specific - It's roughly 30 or so linedefs that intersect, but don't create vertexes. If I had set it up in the way that would have created vertexes - it would have created more than 100 linedefs, plus a bunch of useless 1px X 1px sectors, which would have been more resource intensive. But is my 30 or so linedef method more or less resource intensive than a normal voxel model? I'm not entirely sure, but I have a gut feeling that it's not resource intensive at all. 1 Quote Share this post Link to post
kwc Posted April 8, 2022 (edited) @Ar_e_en That's excellent, I have the same gut feeling and I guess I ask because it's not a form of detailing that is super common, but I could imagine that could be chalked up to the amount of work that would go into putting it together relative to, well, making a map and combat encounters and all that other stuff mappers like to do :P On the topic of the work that goes behind it, I'm curious as to your workflow up to the point where you dropped those graphics into the wad. I can see that it's a series of layers, I'm just wanting to know how you went about it and what kind of things you did to keep it all organized. Edited April 8, 2022 by kwc 2 Quote Share this post Link to post
ChopBlock223 Posted April 8, 2022 Yeah, you can do stuff like that. Check out Rekkr, it has a bunch of cool detail like that, and that's on something that's within Vanilla limits. Mind that using lots and lots of midtextures for detail can start to add up eventually. 3 Quote Share this post Link to post
Nikku4211 Posted April 8, 2022 (edited) I don't know if I still have the WADs, but I remember trying to do this way back in 2014 on my old computer as a kid with MS Paint, XWE, and WadAuthor. All I can say is that it sucked, and I didn't use any intersecting lines. EDIT: I found the textures I used. Drawn by hand on MS Paint. Edited April 8, 2022 by Nikku4211 6 Quote Share this post Link to post
Ar_e_en Posted April 8, 2022 (edited) 45 minutes ago, kwc said: @Ar_e_en That's excellent, I have the same gut feeling and I guess I ask because it's not a form of detailing that is super common, but I could imagine that could be chalked up to the amount of work that would go into putting it together relative to, well, making a map and combat encounters and all that other stuff mappers like to do :P On the topic of the work that goes behind it, I'm curious as to your workflow up to the point where you dropped those graphics into the wad. I can see that it's a series of layers, I'm just wanting to know how you went about it and what kind of things you did to keep it all organized. It was something like this: I placed the side view and the front view (which was replaced by the back view as I neared the end) next to each other and using GIMP's line guides feature - I isolated a column of pixels on one side and cut out the corresponding section on the other side for one layer. I kept moving the guide line and cut the next bit out. Then I switched from using the front and back view as a guide for cutting the sides to using the sides as a guide for cutting the back and front view. It helps that the side views are basically the same, meaning that for those layers - I could just mirror them for the other side! I basically acted as a manual scanner. The truth is that in retrospect I kinda did this wrong - I only used the one column of pixels as a guide. I actually should have used the space between 2 pixels as a guide. Edited April 8, 2022 by Ar_e_en 5 Quote Share this post Link to post
Ar_e_en Posted April 8, 2022 8 minutes ago, ChopBlock223 said: Yeah, you can do stuff like that. Check out Rekkr, it has a bunch of cool detail like that, and that's on something that's within Vanilla limits. Mind that using lots and lots of midtextures for detail can start to add up eventually. I specifically remember the 3D globe from the 1st episode, it wasn't really a fake voxel model, but the idea was pretty similar! 1 Quote Share this post Link to post
xX_Lol6_Xx Posted April 8, 2022 (edited) Nice👍 Edited April 8, 2022 by Lol 6 0 Quote Share this post Link to post
Quill Posted April 8, 2022 (edited) I had a similar idea but with 1-pixel wide sprites. Shall I dub this "Fauxels"? Faux + Voxels Edited April 8, 2022 by dotQLL 4 Quote Share this post Link to post
Megalyth Posted April 8, 2022 Egregiously off-topic, but the title of this thread made me think of 1-voxel-thick destructible walls, which struck me as an interesting way to hide secret areas. Do any source ports support such a feature? It would be pretty cool to blast a hole in a wall to access a secret area. 1 Quote Share this post Link to post
Nikku4211 Posted April 8, 2022 I tried it in Boom, and there was a HOM on the sky. More HOMs on the sky kept appearing and disappearing. Anyways, nice linedefoxel. 2 Quote Share this post Link to post
Ar_e_en Posted April 9, 2022 44 minutes ago, dotQLL said: I had a similar idea but with 1-pixel wide sprites. How would that work? 44 minutes ago, dotQLL said: Shall I dub this "Fauxels"? Faux + Voxels Sure! If it catches on, it catches on! 12 minutes ago, Nikku4211 said: I tried it in Boom, and there was a HOM on the sky. More HOMs on the sky kept appearing and disappearing. Anyways, nice linedefoxel. OOPS! I probably should have been more specific! When I said "Boom compatible" - I meant it in the sense that I tested this on Woof with the compatibility set to "Boom"! Sorry! I'm just stupid sometimes! 0 Quote Share this post Link to post
jval Posted April 9, 2022 (edited) 5 hours ago, Ar_e_en said: So I made a little test map (Boom compatible, just because I wanted to add a compblue waterfall) with a fake voxel model of a deer made out of mid-textures. I didn't use any 3D software and the results aren't perfect, but I do think that there is merit to the idea. Maybe it is possible to convert a voxel model into a set of textures that can be used to create a fake voxel model in other more basic ports like Woof, PRBoom+, DSDA or even Vanilla. @jval might have more knowledge on this, guy has done a lot of work with real voxels! This is a great idea! I tried the map and I was impressed by the fact that you're using only a few extra lines. This will also be faster to software rasterizers, since voxel rendering is CPU-hungry. As for converting voxels in texture slices, many voxel editors strip the inside of the voxel, so that only the outer layer is actually present in data, so an automatic converter instead of will produce this: and then it must take the necessary steps to "fill" the gaps. Obviously, moving objects will be limited to move into a line, with some work in texture scrolling and anims. 3 hours ago, Ar_e_en said: It was something like this: I placed the side view and the front view (which was replaced by the back view as I neared the end) next to each other and using GIMP's line guides feature - I isolated a column of pixels on one side and cut out the corresponding section on the other side for one layer. I kept moving the guide line and cut the next bit out. Then I switched from using the front and back view as a guide for cutting the sides to using the sides as a guide for cutting the back and front view. It helps that the side views are basically the same, meaning that for those layers - I could just mirror them for the other side! I basically acted as a manual scanner. So, you've used the front view as a depth guide, and the side view a a buffer. That works good for convex objects, but not with non convex objects. Still, it's impressive work, reminds me a paper I've read some time ago about depth buffer based voxelization (http://graphics.cs.aueb.gr/graphics/docs/papers/voxeliser.pdf), but I never tried to implement it due to the non convex limitation. 1 hour ago, dotQLL said: I had a similar idea but with 1-pixel wide sprites. 25 minutes ago, Ar_e_en said: How would that work? This was my first attempt to render voxels in DelphiDoom (software rendering), I used 1 px sprites for each voxel column. The results were very good, the clipping was perfect, but unfortunatelly it was too slow and I descarted the idea. Quote OOPS! I probably should have been more specific! When I said "Boom compatible" - I meant it in the sense that I tested this on Woof with the compatibility set to "Boom"! Sorry! I'm just stupid sometimes! Quick tested in Eternity, Doom-Retro, 3DGE, DelphiDoom & K8Vavoom and works OK. Edited April 9, 2022 by jval 5 Quote Share this post Link to post
Nikku4211 Posted April 9, 2022 (edited) 35 minutes ago, jval said: This was my first attempt to render voxels in DelphiDoom (software rendering) Was this attempt before DelphiDoom 1.1.4.580, which natively supports voxels even in the software renderer? Edited April 9, 2022 by Nikku4211 1 Quote Share this post Link to post
RDETalus Posted April 9, 2022 (edited) I do this with some objects in my maps, but usually no more than two lines / two mid-textures doubled up to add a bit of depth. It prevents that annoying effect where, for example, if you look at a mid-texture tapestry at just the right angle (edge on) it completely disappears. It's visually weird when things disappear like that so adding an extra layer of mid-texture helps enormously. I'm a bit afraid to extend your many layered voxel concept completely to numerous pseudo-3D objects because of the strain it might put on the engine, but maybe 2 or 3 pieces per map in important locations can work. I recall that Suspended in Dusk uses this technique to create some architectural detail here and there, but especially at the end of the last level when Espi creates a small aircraft in a hangar (the darker shading on the ship isn't a part of the texture, that's just the GZDoom ambient occlusion). Edited April 9, 2022 by RDETalus 7 Quote Share this post Link to post
jval Posted April 9, 2022 3 hours ago, Nikku4211 said: Was this attempt before DelphiDoom 1.1.4.580, which natively supports voxels even in the software renderer? Indeed, it was an attempt I made before releasing the v. 1.1.4.580. In fact, it was my first attempt to render the voxels in software rendering: Each voxel column was converted to a sprite. It was a naive solution, since no special care was needed to render the voxels properly, it was just a re-use of the sprite code. Unfortunatelly with a couple of voxels the number of vissprites raised so rappidly that it was totally unplayable. The bottleneck was the clipping code, which it had to be calculated for each voxel column. On the other hand, the clipping was 100% accurate, even for overlapping voxels. 2 Quote Share this post Link to post
Revae Posted April 9, 2022 i like playing with midtextures. made a bunch of stuff, but the closest thing to what you're talking about is this sort of thing no crisscrossing lines in this example though. i find this sort of approach works best with reliefs. other things generally work best when sort of outlining them with linedefs and texturing them somewhat more traditionally 8 Quote Share this post Link to post
gwain Posted April 9, 2022 (edited) 9 hours ago, Ar_e_en said: hmm Ima make this but mabey less flat colored and of ranger kinda trippy im no where near the mapper you guys are so I'm only doing 3 layers and front facing : / Spoiler Edited April 9, 2022 by gwain 1 Quote Share this post Link to post
raymoohawk Posted April 9, 2022 this is great :D iirc ancient alines used midtextures for holograms, it wasnt as elaborate as this but looked really nice here's hoping that fauxels become a trend. if it does an equivalent of the doomcute thread would be nice to have 2 Quote Share this post Link to post
CoolerDoomeR Posted April 9, 2022 13 hours ago, Ar_e_en said: I was watching decino play "UAC Invasion: The Supply Depot" - a GZDoom map that uses voxels, and it made me think if it was possible to implement voxels in other DOOM ports. So I made a little test map (Boom compatible and tested in Woof, just because I wanted to add a compblue waterfall) with a fake voxel model of a deer made out of mid-textures. I didn't use any 3D software and the results aren't perfect, but I do think that there is merit to the idea. Maybe it is possible to convert a voxel model into a set of textures that can be used to create a fake voxel model in other more basic ports like Woof, PRBoom+, DSDA or even Vanilla. @jval might have more knowledge on this, guy has done a lot of work with real voxels! This also feels like an idea that has been done before, so if you know any wads that have done something like this - let me know! FakeVoxelDeer.zip It's great to see this works in other source ports! Great job! 1 Quote Share this post Link to post
Ar_e_en Posted April 9, 2022 9 hours ago, Revae said: i like playing with midtextures. made a bunch of stuff, but the closest thing to what you're talking about is this sort of thing no crisscrossing lines in this example though. i find this sort of approach works best with reliefs. other things generally work best when sort of outlining them with linedefs and texturing them somewhat more traditionally Those are really cool! 14 hours ago, jval said: This is a great idea! I tried the map and I was impressed by the fact that you're using only a few extra lines. This will also be faster to software rasterizers, since voxel rendering is CPU-hungry. As for converting voxels in texture slices, many voxel editors strip the inside of the voxel, so that only the outer layer is actually present in data, so an automatic converter instead of will produce this: and then it must take the necessary steps to "fill" the gaps. Obviously, moving objects will be limited to move into a line, with some work in texture scrolling and anims. Thank you for chiming in! I guess it makes sense for real voxels to cut out the unseen inside for performance reasons. If I were to convert real voxels models to texture slices - I might have to fill the inside manually by myself, but it probably isn't that time consuming of a job if the model isn't that big. 0 Quote Share this post Link to post
Stabbey Posted April 9, 2022 17 hours ago, Megalyth said: Egregiously off-topic, but the title of this thread made me think of 1-voxel-thick destructible walls, which struck me as an interesting way to hide secret areas. Do any source ports support such a feature? It would be pretty cool to blast a hole in a wall to access a secret area. All of them do - at least for hitscan weapons. Just use line action 24 (G1 - Floor raise to lowest ceiling) tagged to the wall with a control sector by a ceiling which is the floor level of the room. Shoot the wall, and a hole opens up. Works well if there's also a midtexture which has a matching wall with a hole in it. Epic 2 does that, for example. 0 Quote Share this post Link to post
RjY Posted April 9, 2022 Here's something you don't see every day. Definitely worth a place in the mapping museum alongside TRUCK.WAD's cinematic midtex, the spinning holograms in Vrack3, etc. 3 Quote Share this post Link to post
ax34 Posted April 9, 2022 18 hours ago, dotQLL said: I had a similar idea but with 1-pixel wide sprites. Shall I dub this "Fauxels"? Faux + Voxels Blood (and probably GZDoom) already does this in software renderer 0 Quote Share this post Link to post
Ar_e_en Posted April 14, 2022 On 4/9/2022 at 8:39 PM, RjY said: Here's something you don't see every day. Definitely worth a place in the mapping museum alongside TRUCK.WAD's cinematic midtex, the spinning holograms in Vrack3, etc. This test wad most likely won't be saved anywhere, but if I decide to update the textures and make the model a bit more prettier - then I might add this deer to a secret room in a bigger wad! 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.