Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Content count

  • Joined

  • Last visited

About illYay1337

  • Rank
    Junior Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. illYay1337

    GZDoom and Custom Shaders

    Ah it's actually hilarious what a mistake I made. It was brighter because of a mistake in the triplanar shader not because the engine was making things brighter. I tried regular solid colored textures and the same odd artifacts were visible for me. The brightness came from this: return // North / South getTexel(northSouthUVs) * blendWeights.z // Floor / Ceiling + getTexel(floorCeilUVs) * blendWeights.y // East / West + getTexel(eastWestUVs) * blendWeights.x; I was over brightening the pixels which happens with any angled surface but never with 90 degree surfaces. BlendWeights came from a normalized vector, but the sum of the components wasn't 1. I somehow forgot that a normalized vector is of length 1 but the sum of its components is not 1, which caused the 3 colors to blend incorrectly resulting in an overbrigthened pixel. Had to add this earlier in the shader. // make it so the sum of all components is 1 blendWeights /= blendWeights.x + blendWeights.y + blendWeights.z;
  2. illYay1337

    Why am I getting this error?

    Maybe some versions of people's iwad does have this change since I've actually seen it's a common question.
  3. illYay1337

    Why am I getting this error?

    Pretty sure you don't need to worry about this error. It's something I remember looking up a while ago too and is just a general error in doom2.wad that doom builder is catching. Guess they defined SD18_7 twice somehow. If you catch this in your own wads though it's a good idea to fix this warning.
  4. illYay1337

    GZDoom and Custom Shaders

    I've been working on a custom shader and I figured things out from here: https://zdoom.org/wiki/GLDEFS I have my custom shaders working but I noticed some issues. First of all, the surfaces with my shader appear brighter but only at odd angles. 90 degree walls and ceilings are OK, and my map is currently using the default shading behavior on 90 degree walls. I haven't tried even lighting or smooth lighting mode yet. Slopes are also brightened. It also seems to do flat shading a bit while non-material surfaces use the sector brightness directly without shading. My rocky terrain ends up looking worse. (However notice how there's no ugly transition from flats to walls thanks to triplanar mapping 8D) Also there's this artifact that's especially visible on slopes. It's harder to see on a still image so I modified my shader to output solid red. These are issues that appear to be out of my control. I tried both using a material and a hardware shader with identical results. When using a material all I'm outputting is the Albedo color so lighting is all taken care of already by the engine and should just be using sector brightness. Hardware shader has identical behavior visually. I have quite a lot of experience with computer graphics and GLSL. I've seen this pinprick artifact in the past when I made a mistake calculating the specular highlight in a custom engine. However here this pinprick is not created by me. Surfaces that are just assigned a texture render completely fine. Here are the material sources for reference. It's essentially to solve the ugly transition in a cave environment between the sidedefs and the sloped floors by doing away with texture mapping altogether. The UV's are determined by world coordinates. /** * Shader that does triplanar mapping which should be great for natural terrain textures * The UVs are procedurally determined based on world coordinates so caves, mountains, etc automatically look good * This can be very useful for Doom where it's otherwise difficult or nearly impossible to align walls and flats * At the moment it's built to take the passed in texture and triplanar map it. * * Made with the help of this article: https://www.martinpalko.com/triplanar-mapping/#The%20Theory * * Future versions or variations might get more advanced, and you could make snowy mountains for example, by having top facing normals use a snow texture * * Usage: Add to gldefs as explained here: https://zdoom.org/wiki/GLDEFS * * You can add either a worldScale define or uvScale define * By default it acts as if you passed worldScale 1.0 * worldScale 1.0 will try to map the texture as closely to how doom would map it as possible in doom's world coordinates * Other values will multiply the scale * * uvScale won't take world scale into account and will just base UV's one to one with world position, so you may want very low values like .001 to look good. * uvScale is slightly more optimized since there's no division by texture size * * e.g. * material texture "textures/ogrodtex/OGRIDRST_triplanar.png" * { * shader "shaders/triplanar.fp" * define worldScale = 2 * } */ Material ProcessMaterial() { Material material; vec2 uvScaleActual = #ifdef uvScale vec2(uvScale); #else #ifndef worldScale #define worldScale 1.0 #endif //to sample the texture in "DooM" world units we divide by its size 1.0 / textureSize(tex, 0) * worldScale; #endif vec3 normals = normalize(vWorldNormal.xyz); vec3 blendWeights = abs(normals); // Z normal faces north/south // Y normal faces floor/ceiling or up/down // X normal faces east/west // Floor / Ceiling need to sample in the -v direction // Walls sample in the -v direction as well, but also flip u depending on facing direction to more roughly match doom's texture mapping vec2 northSouthUVs = pixelpos.xy * vec2(sign(-normals.z), -1.0) * uvScaleActual; vec2 floorCeilUVs = pixelpos.xz * vec2(1.0, -1.0) * uvScaleActual; vec2 eastWestUVs = pixelpos.zy * vec2(sign(normals.x), -1.0) * uvScaleActual; material.Base = // North / South getTexel(northSouthUVs) * blendWeights.z // Floor / Ceiling + getTexel(floorCeilUVs) * blendWeights.y // East / West + getTexel(eastWestUVs) * blendWeights.x; // In the future, if more textures are used for other material components, sample them in a similar way // Future versions can also sample a totally different texture for Floor, for example, to add snow or grass to tops of hills // You could also sample different textures based on elevation in world coordinates, so high peaks are snowy while low areas are grassy return material; }
  5. illYay1337

    Is Zscript usable in level scripting?

    Oh cool, I could potentially make a library of more complex things if needed in zscript. But yeah it sounds like for basic things like an elevator I should be able to just do most things with ACS still.
  6. I'm familiar with ACS and DECORATE from back in the day. Zscript seems like a great replacement for Decorate, but I'm slightly confused on whether it's usable in level scripting, or do we still use ACS for everything? I can't find specific examples of ZScript used in levels, but it seems like a really powerful thing otherwise. Like if I walk over a linedef I'm familiar with how to trigger a script in ACS, and if that's not possible with ZScript then I guess still use ACS?
  7. I have finished 1.0 of my massive texture compilation. This should be a good base with a variety of themes to build wads. I basically took a lot of the texture packs from Realm 667 for now and cleaned things up for GZdoom. Future versions may include more texture packs. I wrote some new tools for SLADE to help clean everything up and make sure everything is set up the modern Zdoom way, and there are no naming conflicts. The readme has more details. https://github.com/ill/DooM_illTextureCompilation Just as a preview, this is the library of textures you have to work with in Doom Builder 2, and it's all automatically organized by Doom Builder by internal directory names.
  8. illYay1337

    I made some new TEXTURE cleanup tools for SLADE

    I made another update. https://github.com/sirjuddington/SLADE/pull/1391 This time it helps find duplicate texture names across all flats and textures defined as individual images while also cross referencing all TEXTURE files in original doom and also zdoom format. Also it checks for duplicate patches across the ptable file and all patches that may be raw images in a zdoom archive. This should help make sure you have no name clashes when working on a giant texture pack. Especially when merging multiple texture packs together. I also briefly looked at the GZDoom source to see how possible it may be to bring over some of that code over to SLADE to make it read all the different GZDoom language files natively in the exact way GZDoom does so you don't need some special language parsers. It'd be especially awesome to some day have a specialized ZDoom project editor with an interface similar to Unreal/Unity with fancy tools for textures/switches/animdefs/sprites, etc... I'd still leave the level editing to Doom Builder 2 though hands down. Another tool I'm really considering adding is a way to detect textures made in the Textures files that just consist of tiled patches that result in an unnecessary texture. There are so many texture packs where people made a texture that is 64x128 that is just the same 64x64 patch tiled one on top of the other. Being able to detect that and remove the texture entry along with my "Delete single patch textures" tool would really help clean up texture packs.
  9. illYay1337

    On r/place

    YES! DooM made it!
  10. illYay1337

    I made some new TEXTURE cleanup tools for SLADE

    Yeah and it seems like tools to find duplicate named entries would help too.
  11. illYay1337

    I made some new TEXTURE cleanup tools for SLADE

    Well, it's now available in the 3.2.0 beta release. I've been using the new tools to work on a huge base texture pack. https://github.com/ill/DooM_illTextureCompilation (Never thought I'd use github for doom) I basically took a a huge amount of the texture packs from Realm 667 and cleaned them up quite a bit. Then when I'm ready to release a map pack I can use the remove unused textures tool. I realized there's another potential optimization. A lot of texture packs have textures built from patches stacked on top of each other. Like a 64x128 texture that's made from the same 64x64 patch, one above the other. I've been cleaning these up manually, but detecting and deleting the texture entry, and turning its patch into a texture, should be possible later.
  12. illYay1337

    The Doom Confessional Booth

    I used to have pirated copies of DooM as a kid and the only reason I can say I "bought" doom 1 and doom 2 now is because I bought the Doom 3 BFG edition. I still have never "paid" for Plutonia or TNT. Also I prefer TNT over Plutonia. (Though now that I'm older and have better "Taste" in doom, I understand the later half of TNT has some really bad levels) In fact I prefer chill adventurey maps with amazing atmosphere and crazy scripted events even if it means barely any monsters over brutally hard slaughter maps. I also enjoy Brutal Doom sometimes. And I think of Doom as a slow paced survival action horror game not an arcadey twin stick shooter, which is why I also have a huge appreciation for Doom 3. Complex Doom makes brutally hard slaughter maps actually fun. Also I love playing with mouse look enabled. And I mostly use GZDoom nowadays with texture filtering enabled. Though I have been trying to play through sunlust in PRBoom+ with no mouse look. I played through the beginning of Ancient Aliens in Zdoom with Mouse Look. Also thanks to mouse look, I never realized how hard the icon of sin boss is actually supposed to me. As a kid I always idclipped into the icon of sin, and as a teen I started playing using DooM legacy with mouse look. Also as a kid I used to always play the game with iddqd enabled since plutonia with keyboard only was impossibly hard. You guys can hang me now...
  13. illYay1337

    Things about Doom you just found out

    Wow Strife has the best sky texture.
  14. illYay1337

    Things about Doom you just found out

    That's not just Doom Builder. I've seen that flat in all the older editors too, and that flat is in the actual wad. Also sometimes my mind is blown by a Decino video. Like I just learned about Monster Paralysis.
  15. https://www.reddit.com/r/place I think it'd be perfect to draw some doom marine faces or even actual doom sprites into /r/place. I tried by myself but my pixels keep getting taken over. There's about a 5 or 4 minute time limit until a single person can add another pixel. Seems like it requires a team effort and coordination. The color palette is limited but that's OK.