Jump to content
The Dark Mod Forums

rich_is_bored

Member
  • Posts

    885
  • Joined

  • Last visited

  • Days Won

    18

Everything posted by rich_is_bored

  1. People take interest in conspiracies because what passes for journalism now days is less credible. All the media has to offer are sensationalized stories sourced from anonymous persons under headlines posed as questions. The media has no problem parading around conspiracies of their own. Trump's alleged collusion with Russia? They've been rambling on about this for ages and we're no closer to knowing what the two conspired to do. For all we know it could be a surprise birthday party, nothing at all, or he's given them the nuclear codes. Meanwhile you've got conspiracies that site names, documents, and other tangibles and it's dismissed outright because it came from the internet. But when federal prosecutors start washing up on the beach with head trauma and people start scrubbing their account history well fuck if that doesn't sound suspect. At this point it's really a matter of how many coincidences are you willing to turn a blind eye to. It has to be at the very least plausible. This isn't flat earth lizard people type shit. Mind you, the internet discovered the identity of a masked man in a crowd of masked men who assaulted an innocent man with a bike lock. The internet worked out the location of a lone web cam pointed upwards at a flag pole with nothing more to go on than contrails and air traffic data. Blow it off if it suits you. Even I am not completely engrossed in it. But if the dominoes start falling and people start going to jail I'm going to be stoked because it means some corrupt mother fuckers are getting what they deserve.
  2. IMO, those lamps don't look bright enough to have coronas that size. The torches look about right though.
  3. I suspect any perceived differences come from the way audio is mastered. You don't master a CD the same way you do a Vinyl because their capabilities are different. You might try your experiment again with 96khz 24bit FLAC. If it still sounds "bad" then I'm sure you have enough data at that point to run it through an EQ to make it sound "good".
  4. Those stages should get wrapped in their own global macro keywords.
  5. You need to make sure your changes are loaded last. The game loads pk4s in alphanumeric order. If you prefix your pk4 with something like "zzz_" that will ensure it is loaded after everything else.
  6. There is no all encompassing cube map editing tool so the methods you use will vary depending on what you're trying to accomplish. Google is my bread and butter here. As is often the case I used a collection of many programs to get the final output. Here you can see I'm using Blender and the lampshade from the desk lamp model to capture the six images that make up a cube map (up, down, left, right, front, back). The cameras are placed inside the lampshade in the approximate position of the light source. But you're not stuck using Blender. If you can position and orient a camera precisely and set the field of view to ninety degrees, anything with a 3D viewport could potentially work. Google Earth could be a potential source. Celestia could be another. The one thing that is kind of difficult is post processing. Because the environment map is comprised of six separate images, you have to be mindful about the kinds of operations you perform. You need to be sure what you do carries across image seams. It's a bit like painting seamless textures in that not all programs are capable of handling the context so you might apply a blur filter and screw up the seams. I haven't worked out an ideal solution for that yet. ATI's cubemapgen works for bluring a cube map. One idea I'm toying with is trying to convert a cube map from a cubic projection to something like equirectangular and back. This would allow you edit a single image as if it were a seamless texture, then convert back when you're done. Aside from that, all you're doing is renaming files and occasionally rotating an image. Also in this specific usage case, whether it's a bug or otherwise, these cube maps need an alpha channel. I'm using Imagemagick and batch scripts to handle all that. It makes it fairly quick to render something out, process it, then test it in game.
  7. This is as far as I can see taking this at the original resolution. I've uploaded a pk4 with the replacement cubemap to my OneDrive... https://1drv.ms/u/s!ArSffIfTXmLWjmU3DFyRmy1lHU2A
  8. I thought this would take ten minutes but I ended up spending a good while troubleshooting. Anyway, here is the lamp with a more accurate projection... The colors are too saturated, details too sharp, and it's far too clean but it's an improvement.
  9. Speaking of which, check this out... This is the Google font Krona One setup for use as a console font replacement. The cool thing is I made this with an HTML table, and SVG background to cover missing characters, firefox, imagemagick, and a batch file. Don't like that font? Link to a different one in the HTML file. You can obtain the HTML, SVG, and batch file below... https://1drv.ms/u/s!ArSffIfTXmLWjmTWHk26Zpc0fJGp
  10. Two can play at that game. Bookmark this as a link. javascript:(function(){var%20a=document.createElement('style'),b;document.head.appendChild(a);b=a.sheet;b.insertRule('span{font-family:arial%20!important}',0);})()
  11. That explains things. I replaced files in my 2.05 installation with those linked here and upon launch it immediately bombed out with the standard fair "Windows is having a problem ..." nonsense. Now I know why. I never bothered trying much else because it was apparent it wasn't working. I'll give it another go when I have time later in the week and fix that lampshade projection while I'm at it.
  12. For the record, does this work with 2.05? I tried it out of curiosity last week with a fresh install and all it did was crash.
  13. Have you used the clipper tool with brushes much? It's very easy to make mitered corners. As far as performance, it's a tradeoff. You consume more memory with brushes. You consume more draw calls with models.
  14. The polygon count for your modules are too low. With matching textures, the scenes depicted could easily be recreated with a few brushes and the clipping tool. It's important to note that TDM uses a forward renderer. For each light, for each entity, render a pass. Every module in view is going to get a separate draw call. And if you're incurring the penalty of a draw call and not throwing a considerable number of polygons at the GPU, you're not getting your money's worth. I recommend beveling a few of the hard edges and making use of smooth shading.
  15. If you want more finite control over it and you're planning on using Blender anyway you might as well forego SEED altogether. You can quite easily replicate the functionality of SEED by using groups and a particle system. Here's a video for demonstration...
  16. http://forums.thedarkmod.com/topic/13560-standalone-ase-exporter-beta-3/
  17. LWO is the native format for both Lightwave and Modo. No extra steps are required to export TDM ready content from those applications. LWO uses less disk space and loads faster because it's a binary file type. ASE is a plain text format which means it's human-readable. It can be integrated into any pipeline despite a lack of documentation if you know how to write plugins for the app in question. The downside of course is that it takes up more disk space and increases load times. This "you have to edit it in a text editor" problem is not the fault of the format itself (although I'm not in love with it) but rather the way idTech 4 handles that file type. The "bitmap" field we're required to edit is intended to reference an image file. ASE has a more suitable "material name" field but for some reason id Software decided to shove a square peg in a round hole. Compound that with how shader names in idTech 4 look suspiciously like relative file paths and color me surprised to see there are issues. What kind of third rate software doesn't let you do something nonsensical like reference a file with no extension that doesn't exist in a folder that doesn't exist either? Now we're stuck staring at the bitmap field in notepad and trying to remember if it's "Purgatory/base/textures/darkmod/nature/dirt/dirt_001", "base/textures/darkmod/nature/dirt/dirt_001" or "C:\base\textures\darkmod\nature\dirt\dirt_001.jpeg"? Contrast that with Lightwave where I'm sure you can simply name your material "textures/darkmod/nature/dirt/dirt_001" and it just works. It could have worked like that with ASE if id put a little more thought into it or better yet went with OBJ which is supported virtually everywhere with no plugins required (even Dark Radiant). I could write a special case ASE plugin for Blender that worked around the issue. The trouble is I'd then be required to maintain it for eternity for the two or three people here who would use it. Not worth my time. I wrote a general purpose plugin that worked well enough for us and consequently some Unreal Engine developers. Now they maintain it and all we have to do is edit one line in a text file. Works for me. Lastly, modeling in general has a steep learning curve. It is more technical than artistic. Normals, n-gons, topology, UV coordinates and so on; they are present in all modeling applications and it's all foundational knowledge. Blender is not the only free modeling application so if you are struggling with it try something else. Either it's going to start falling in place for you or it won't. And when that happens, if it happens, you'll find yourself at home regardless what application you use.
  18. @Arcturus Yes, the scriptobject as currently constructed is linked to FPS. To base it on a set duration instead you would use... sys.wait(X);... where X is the number of seconds. I'm sure you've noticed that the engine does not interpolate between keyframes? I figured smooth playback was preferable so I coupled playback to FPS. In your case, why not export two static models each with their own material? Then you can toggle their visibility on or off at 1 FPS and you won't have to worry about sync issues. The script events you're interested in are "show" and "hide". @Bikerdude Hold that thought. If Obsttorte's shader works nobody will need to model anything. @Obsttorte If you could put those files into a package and make it available somewhere I'd like to see it.
  19. @Obsttorte I'm sure a vertex shader would be better for performance. My concern is the custom shaders we call from our materials are executed after interaction.vfp. Will you see any changes to vertex positions if they are rendered before they are moved?
  20. Got an update... And the package, md5test.pk4 including the example map, models, and scriptobject required to make use of this yourself.
  21. I recall back on the D3W forums der_ton wrote an experimental MD5 exporter that baked vertex animation by creating a bone for every vertex. It's funny looking back on it as we were clearly shoving a square peg into a round hole. At any rate, I initially was going to use a Q3 character model for testing purposes since they could be found everywhere. But then I saw how they are split into three separate MD3s, paired with a CFG, and the code doesn't appear to reflect this. I'm fine with that however. MD5 is far superior for character models with fewer keyframes, support for frame events, interpolation, ect. We'd only be using MD3 for props like grass, fabric, and spider webs blowing in the wind.
  22. I was working my way through the code and noticed the game supports loading MD3 models. I can't believe Doom 3 has been around for 12 years and nobody played around with this. Vertex animation is a bit dated but it still has valid use cases. Of course I was immediately sidetracked. I had to track down an exporter for Blender and try it. Nothing complicated. Just a sphere with a wave modifier on it. I've packaged it up if anyone would like to tinker. It's testmd3.pk4. If you load the model you'll note that it doesn't animate. But there's a bit of code in Model_md3.cpp that's of interest... // TODO: these need set by an entity frame = ent->shaderParms[SHADERPARM_MD3_FRAME]; // probably want to keep frames < 1000 or so oldframe = ent->shaderParms[SHADERPARM_MD3_LASTFRAME]; backlerp = ent->shaderParms[SHADERPARM_MD3_BACKLERP];These shaderparm references translate into parms 8, 9, and 10. I have determined that setting shaderparm 8 changes the current frame. You can see for yourself by loading the model with "testModel models/test.md3" and advancing frames with "testShaderParm 8 [frame]". Anyway. Just sharing my findings. Maybe I'll figure it out a way to make use of this eventually.
  23. I found a lone example. textures/water_source/water_reflective { qer_editorimage textures/glass/glass1 translucent noshadows nonsolid { blend blend mirrorRenderMap 512 512 translate 0.5, 0.5 scale 0.5, 0.5 program fresnel.vfp vertexParm 0 .5 fragmentMap 0 _scratch } }It also looks like someone wrote a wiki article that references the shader.
  24. There is a fresnel.vfp in tdm_base01.pk4. Searching the mtr files should turn up examples although I don't have time to look into it ATM.
×
×
  • Create New...