Linguica Posted May 24, 2015 I was doing a totally unrelated Google search when I came across this video: The video is quite hard to make out, but it's an editor for creating voxels that apparently John Carmack toyed with in between Wolf3D and Doom. And what's more, we have source code for it (scroll to very bottom), mirror:recent note: this may not all be correct anymore... Look in the source if you are curious. RADED basic operation: RADED holofile The holograms are composed of 64 platters of 64 radial sections with 32 evenly spaced divisions. Right clicking in the circular edit area will draw with the current edit color. The projection will not be updated until the mouse button is released. Left clicking in the edit area changes the edit color to the color clicked on. Pressing 'S' saves the current hologram. Pressing 'C' while the cursor is in the edit window will draw a circle with a radius out to the cursor. Everything inside is erased. Clicking in the color palette area changes the current edit color. Clicking in the area between views selects the platters to write through.The platter first clicked on is the one displayed, but you can drag the selected area so that it covers multiple platters. When multiple platters are selected, drawing is done in all the platters at once. The left/right arrow keys rotate the image. The 1/2 keys rotate the projection without redrawing the edit window until you release the key. Clicking along the bottom of the screen rotate the image to a specific angle based on the x position of the click. The up/down arrow keys move the platter selection range up and down. Note the exclusive references to "holograms", which makes me wonder if Carmack had never heard of voxels at that point and was sort of re-inventing the concept. Also note that the voxels are defined radially(!) instead of the more normal XYZ coordinates we generally think of today. Anyways, maybe I am just totally out of the loop, but I had no idea that John Carmack had experimented with VOXEL ENEMIES before giving up and falling back to boring old vanilla sprites. 0 Share this post Link to post
Gez Posted May 24, 2015 Linguica said:Note the exclusive references to "holograms", which makes me wonder if Carmack had never heard of voxels at that point and was sort of re-inventing the concept. Probably. Linguica said:Also note that the voxels are defined radially(!) instead of the more normal XYZ coordinates we generally think of today. I'm not surprised, since he also used polar coordinates in some places in Doom where it would have been so much simpler to use Cartesian coordinates. 0 Share this post Link to post
Maes Posted May 24, 2015 All those references to "holograms" and "holofiles"...was Carmack a Trekkie? O_o 0 Share this post Link to post
chungy Posted May 24, 2015 Yes. He has stated in interviews before that TNG's holodeck was his main motivation for making games, especially ones that emulated reality more and more. 0 Share this post Link to post
fraggle Posted May 25, 2015 The setup they were using was a silicon graphics indigo for map editing, and a room full of custom hardware for the rendering. The images were rendered on three monitors inside the cockpit at 640*480*24 bit color at 33 frames per second (weird). Sounds familiar. The inspiration for Doom's three screen mode? 0 Share this post Link to post
Superluigieth1 Posted May 29, 2015 This is amazing. What's next? Fuzzy Pumper Palette Shop? 0 Share this post Link to post
Maes Posted June 16, 2015 It just occurred to me that "voxel cylinders" would be relatively simple and quite efficient to render with a column-based renderer and various precalculated LUTs like the ones used in Doom, assuming that the top and bottom would be invisible (you would see no weird "flat top" if you were higher than such a model, but their "brim" would simply curve. After all, you only see 180 degrees of a cylinder's face at any time. Different thicknesses/surface depths of such cylindrical models could easily be handled by drawing the innermost cores first -and it would also be simple to avoid needless overdraw- the model editor itself could reduce the models to "hollow shells", so basically you'd just be rendering a bunch of columns at different distances. A single voxel would be like a thin curved pixel hanging in the air -not like a cube, so not everything would look good in such a system. Maybe that's what Carmack had in mind? A voxel system that could be easily integrated in Doom's rendering engine, without having to add proper polygon/voxel support? 0 Share this post Link to post
Patrol1985 Posted June 16, 2015 Great find! And seriously, whenever I think I can finally SORT OF understand the limits of Carmack's genius something new comes up. If computers hadn't been invented, Carmack would have built them himself. 0 Share this post Link to post