View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003278 | The Dark Mod | AI | public | 06.01.2013 16:47 | 27.02.2013 00:48 |
Reporter | Assigned To | grayman | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | Win32 | OS | Windows | OS Version | 7 sp1 |
Target Version | TDM 2.00 | Fixed in Version | TDM 2.00 | ||
Summary | 0003278: Snow particle effect dosent render in certain situations: | ||||
Description | In my map "business as usual" I have changed the theme to winter. I then placed snow brushes directly above all the streets. Said brushes were all nodraw texture bar the upper most face with has snow and said brushes were level with thge highest roofs in the map. | ||||
Steps To Reproduce | 1. if the player looks down the snow stops being rendered. 2. if the plater walks under a bridge or room were I have not placed any snow patches, if the player walks just a few paces the snow stops being rendered. 3. rain particle dosent suffer as severely, but if the player looks down the rains stops being rendered. | ||||
Additional Information | I have tried various tricks to get the bloody snow to always render now matter where the player is located or where they are looking. | ||||
Tags | No tags attached. | ||||
Attached Files | snowbroken.map (7,494 bytes)
Version 2 // entity 0 { "classname" "worldspawn" "editor_drLastCameraPos" "317.26 121.418 212.152" "editor_drLastCameraAngle" "15.3 161.5 0" "editor_drMapPos1" "1738.55 1171.14 -520.531" "editor_drMapAngle1" "14.7001 87.8977 0" "editor_drMapPos2" "414.798 255.441 -264.933" "editor_drMapAngle2" "2.10002 84.5976 0" "editor_drMapPos3" "-749.97 -1606.21 -470.066" "editor_drMapAngle3" "-3.29998 6.59757 0" "editor_drMapPos4" "1014.05 -953.679 -556.857" "editor_drMapAngle4" "-10.2 355.498 0" "editor_drMapPos5" "987.599 3513.79 -319.877" "editor_drMapAngle5" "-61.1999 172.198 0" "editor_drMapPos6" "-1032.5 -2840 739.5" "editor_drMapAngle6" "-77.0999 175.798 0" "editor_drMapPos7" "952.822 285.005 1366.04" "editor_drMapAngle7" "-74.8 149.373 0" "editor_drMapPos8" "976 424 320" "editor_drMapAngle8" "-3 15.3467 0" "editor_drMapPos9" "409.146 547.464 392.83" "editor_drMapAngle9" "-16.8 284.947 0" // primitive 0 { brushDef3 { ( 0 0 1 -528 ) ( ( 0.03125 0 127.75 ) ( 0 0.03125 127.75 ) ) "textures/common/caulk" 0 0 0 ( 0 1 0 -392 ) ( ( 0.03125 0 0.25 ) ( 0 0.03125 60.5 ) ) "textures/common/caulk" 0 0 0 ( 1 0 0 -392 ) ( ( 0.03125 0 127.75 ) ( 0 0.03125 60.5 ) ) "textures/common/caulk" 0 0 0 ( 0 -1 0 8 ) ( ( 0.03125 0 127.75 ) ( 0 0.03125 60.5 ) ) "textures/common/caulk" 0 0 0 ( -1 0 0 8 ) ( ( 0.03125 0 0.25 ) ( 0 0.03125 60.5 ) ) "textures/common/caulk" 0 0 0 ( 0 0 -1 520 ) ( ( 0.03125 0 127.75 ) ( 0 0.03125 0.25 ) ) "textures/smf/portal_sky" 0 0 0 } } // primitive 1 { brushDef3 { ( 0 0 1 -520 ) ( ( 0.0078125 0 255.875 ) ( 0 0.0078125 255.9375 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 1 0 -400 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -392 ) ( ( 0.0078125 0 255.875 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 8 ) ( ( 0.0078125 0 255.875 ) ( 0 0.0078125 0.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 8 ) ( ( 0.0078125 0 0.125 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 392 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 2 { brushDef3 { ( 0 0 1 -520 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 255.875 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 1 0 -392 ) ( ( 0.0078125 0 0.125 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -400 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 0.125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 8 ) ( ( 0.0078125 0 255.875 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 392 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 3 { brushDef3 { ( 0 1 0 -392 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -392 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 0 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 0.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 8 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 1 -8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 255.9375 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 4 { brushDef3 { ( 0 0 1 -520 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 255.9375 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -392 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 8 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 0 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 8 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 1 0 -8 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 5 { brushDef3 { ( 0 0 1 -520 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 1 0 -392 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 8 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 0 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 6 { patchDef2 { "textures/darkmod/weather/snow_light" ( 3 3 0 0 0 ) ( ( ( 8 208 264 0 0 ) ( 8 300 264 0 -0.75 ) ( 8 392 264 0 -1.5 ) ) ( ( 108 208 264 0.78125 0 ) ( 108 300 264 0.78125 -0.75 ) ( 108 392 264 0.78125 -1.5 ) ) ( ( 208 208 264 1.5625 0 ) ( 208 300 264 1.5625 -0.75 ) ( 208 392 264 1.5625 -1.5 ) ) ) } } // primitive 7 { patchDef2 { "textures/darkmod/metal/flat/copper_old_oxidised" ( 3 3 0 0 0 ) ( ( ( 8.000000000000005 192 264.125 0 0 ) ( 8.000000000000005 100 264.125 0 -0.359375 ) ( 8.000000000000005 8.000000000000011 264.125 0 -0.71875 ) ) ( ( 107.9607849121094 192 264.125 0.3904718160629273 0 ) ( 107.9607849121094 100 264.125 0.3904718160629273 -0.359375 ) ( 107.9607849121094 8.000000000000011 264.125 0.3904718160629273 -0.71875 ) ) ( ( 207.9215698242188 192 264.125 0.7809436321258545 0 ) ( 207.9215698242188 100 264.125 0.7809436321258545 -0.359375 ) ( 207.9215698242188 8.000000000000011 264.125 0.7809436321258545 -0.71875 ) ) ) } } // primitive 8 { patchDef2 { "textures/darkmod/weather/snow_light" ( 3 3 0 0 0 ) ( ( ( 8 8 264 0 0 ) ( 8 100 264 0 -0.75 ) ( 8 192 264 0 -1.5 ) ) ( ( 108 8 264 0.78125 0 ) ( 108 100 264 0.78125 -0.75 ) ( 108 192 264 0.78125 -1.5 ) ) ( ( 208 8 264 1.5625 0 ) ( 208 100 264 1.5625 -0.75 ) ( 208 192 264 1.5625 -1.5 ) ) ) } } // primitive 9 { patchDef2 { "textures/darkmod/metal/flat/copper_old_oxidised" ( 3 3 0 0 0 ) ( ( ( 8.000000000000007 392 264.125 0 0 ) ( 8.000000000000007 300 264.125 0 -0.359375 ) ( 8.000000000000007 208 264.125 0 -0.71875 ) ) ( ( 107.9607849121094 392 264.125 0.3904718160629273 0 ) ( 107.9607849121094 300 264.125 0.3904718160629273 -0.359375 ) ( 107.9607849121094 208 264.125 0.3904718160629273 -0.71875 ) ) ( ( 207.9215698242188 392 264.125 0.7809436321258545 0 ) ( 207.9215698242188 300 264.125 0.7809436321258545 -0.359375 ) ( 207.9215698242188 208 264.125 0.7809436321258545 -0.71875 ) ) ) } } } // entity 1 { "classname" "info_player_start" "name" "info_player_start_1" "angle" "90" "origin" "32 56 16" } // entity 2 { "classname" "light" "name" "ambient_world" "_color" "0.06 0.06 0.06" "light_center" "0 0 0" "light_radius" "864 809 776" "nodiffuse" "0" "noshadows" "0" "nospecular" "0" "origin" "200 216 256" "parallel" "0" "texture" "lights/ambientlightnfo" } snowbroken1.map (7,257 bytes)
Version 2 // entity 0 { "classname" "worldspawn" "editor_drLastCameraPos" "83.6067 327.762 70.6725" "editor_drLastCameraAngle" "35.7 315.4 0" "editor_drMapPos1" "1738.55 1171.14 -520.531" "editor_drMapAngle1" "14.7001 87.8977 0" "editor_drMapPos2" "414.798 255.441 -264.933" "editor_drMapAngle2" "2.10002 84.5976 0" "editor_drMapPos3" "-749.97 -1606.21 -470.066" "editor_drMapAngle3" "-3.29998 6.59757 0" "editor_drMapPos4" "1014.05 -953.679 -556.857" "editor_drMapAngle4" "-10.2 355.498 0" "editor_drMapPos5" "987.599 3513.79 -319.877" "editor_drMapAngle5" "-61.1999 172.198 0" "editor_drMapPos6" "-1032.5 -2840 739.5" "editor_drMapAngle6" "-77.0999 175.798 0" "editor_drMapPos7" "952.822 285.005 1366.04" "editor_drMapAngle7" "-74.8 149.373 0" "editor_drMapPos8" "976 424 320" "editor_drMapAngle8" "-3 15.3467 0" "editor_drMapPos9" "409.146 547.464 392.83" "editor_drMapAngle9" "-16.8 284.947 0" // primitive 0 { brushDef3 { ( 0 0 1 -528 ) ( ( 0.03125 0 127.75 ) ( 0 0.03125 127.75 ) ) "textures/common/caulk" 0 0 0 ( 0 1 0 -392 ) ( ( 0.03125 0 0.25 ) ( 0 0.03125 60.5 ) ) "textures/common/caulk" 0 0 0 ( 1 0 0 -392 ) ( ( 0.03125 0 127.75 ) ( 0 0.03125 60.5 ) ) "textures/common/caulk" 0 0 0 ( 0 -1 0 8 ) ( ( 0.03125 0 127.75 ) ( 0 0.03125 60.5 ) ) "textures/common/caulk" 0 0 0 ( -1 0 0 8 ) ( ( 0.03125 0 0.25 ) ( 0 0.03125 60.5 ) ) "textures/common/caulk" 0 0 0 ( 0 0 -1 520 ) ( ( 0.03125 0 127.75 ) ( 0 0.03125 0.25 ) ) "textures/smf/portal_sky" 0 0 0 } } // primitive 1 { brushDef3 { ( 0 0 1 -520 ) ( ( 0.0078125 0 255.875 ) ( 0 0.0078125 255.9375 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 1 0 -400 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -392 ) ( ( 0.0078125 0 255.875 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 8 ) ( ( 0.0078125 0 255.875 ) ( 0 0.0078125 0.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 8 ) ( ( 0.0078125 0 0.125 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 392 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 2 { brushDef3 { ( 0 0 1 -520 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 255.875 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 1 0 -392 ) ( ( 0.0078125 0 0.125 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -400 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 0.125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 8 ) ( ( 0.0078125 0 255.875 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 392 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 3 { brushDef3 { ( 0 1 0 -392 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -392 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 0 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 0.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 8 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 1 -8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 255.9375 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 4 { brushDef3 { ( 0 0 1 -520 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 255.9375 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -392 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 8 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 0 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 8 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 1 0 -8 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 5 { brushDef3 { ( 0 0 1 -520 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 1 0 -392 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 8 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 0 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 6 { brushDef3 { ( 0 0 1 -104 ) ( ( 0.0078125 0 254.5 ) ( 0 0.0078125 255.96875 ) ) "textures/darkmod/stone/brick/even_small_blocks01" 0 0 0 ( 0 1 0 -392 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 238.8125 ) ) "textures/darkmod/stone/brick/even_small_blocks01" 0 0 0 ( 1 0 0 -392 ) ( ( 0.0078125 0 254.5 ) ( 0 0.0078125 238.8125 ) ) "textures/darkmod/stone/brick/even_small_blocks01" 0 0 0 ( 0 0 -1 8 ) ( ( 0.0078125 0 254.5 ) ( 0 0.0078125 0.0625 ) ) "textures/darkmod/stone/brick/even_small_blocks01" 0 0 0 ( 0 -1 0 388 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 238.8125 ) ) "textures/darkmod/stone/brick/even_small_blocks01" 0 0 0 ( -1 0 0 240 ) ( ( 0.0078125 0 1.5 ) ( 0 0.0078125 238.8125 ) ) "textures/darkmod/stone/brick/even_small_blocks01" 0 0 0 } } // primitive 7 { patchDef2 { "textures/darkmod/weather/snow_light" ( 3 3 0 0 0 ) ( ( ( 8.000000000000014 8 264 0 0 ) ( 8.000000000000014 200 264 0 -1.5 ) ( 8.000000000000014 392 264 0 -3 ) ) ( ( 200 8 264 1.5 0 ) ( 200 200 264 1.5 -1.5 ) ( 200 392 264 1.5 -3 ) ) ( ( 392 8 264 3 0 ) ( 392 200 264 3 -1.5 ) ( 392 392 264 3 -3 ) ) ) } } // primitive 8 { patchDef2 { "textures/darkmod/metal/flat/copper_old_oxidised" ( 3 3 0 0 0 ) ( ( ( 8 392 264.125 0 0 ) ( 8 200 264.125 0 -0.75 ) ( 8 7.999999999999996 264.125 0 -1.5 ) ) ( ( 199.9607849121094 392 264.125 0.7498468160629273 0 ) ( 199.9607849121094 200 264.125 0.7498468160629273 -0.75 ) ( 199.9607849121094 7.999999999999996 264.125 0.7498468160629273 -1.5 ) ) ( ( 391.9215698242188 392 264.125 1.499693632125855 0 ) ( 391.9215698242188 200 264.125 1.499693632125855 -0.75 ) ( 391.9215698242188 7.999999999999996 264.125 1.499693632125855 -1.5 ) ) ) } } } // entity 1 { "classname" "info_player_start" "name" "info_player_start_1" "angle" "90" "origin" "32 56 16" } // entity 2 { "classname" "light" "name" "ambient_world" "_color" "0.06 0.06 0.06" "light_center" "0 0 0" "light_radius" "864 809 776" "nodiffuse" "0" "noshadows" "0" "nospecular" "0" "origin" "200 216 256" "parallel" "0" "texture" "lights/ambientlightnfo" } snowbroken2.map (6,476 bytes)
Version 2 // entity 0 { "classname" "worldspawn" "editor_drLastCameraPos" "188.438 194.713 112.442" "editor_drLastCameraAngle" "-16.2 221.5 0" "editor_drMapPos1" "1738.55 1171.14 -520.531" "editor_drMapAngle1" "14.7001 87.8977 0" "editor_drMapPos2" "414.798 255.441 -264.933" "editor_drMapAngle2" "2.10002 84.5976 0" "editor_drMapPos3" "-749.97 -1606.21 -470.066" "editor_drMapAngle3" "-3.29998 6.59757 0" "editor_drMapPos4" "1014.05 -953.679 -556.857" "editor_drMapAngle4" "-10.2 355.498 0" "editor_drMapPos5" "987.599 3513.79 -319.877" "editor_drMapAngle5" "-61.1999 172.198 0" "editor_drMapPos6" "-1032.5 -2840 739.5" "editor_drMapAngle6" "-77.0999 175.798 0" "editor_drMapPos7" "952.822 285.005 1366.04" "editor_drMapAngle7" "-74.8 149.373 0" "editor_drMapPos8" "976 424 320" "editor_drMapAngle8" "-3 15.3467 0" "editor_drMapPos9" "409.146 547.464 392.83" "editor_drMapAngle9" "-16.8 284.947 0" // primitive 0 { brushDef3 { ( 0 0 1 -528 ) ( ( 0.03125 0 127.75 ) ( 0 0.03125 127.75 ) ) "textures/common/caulk" 0 0 0 ( 0 1 0 -392 ) ( ( 0.03125 0 0.25 ) ( 0 0.03125 60.5 ) ) "textures/common/caulk" 0 0 0 ( 1 0 0 -392 ) ( ( 0.03125 0 127.75 ) ( 0 0.03125 60.5 ) ) "textures/common/caulk" 0 0 0 ( 0 -1 0 8 ) ( ( 0.03125 0 127.75 ) ( 0 0.03125 60.5 ) ) "textures/common/caulk" 0 0 0 ( -1 0 0 8 ) ( ( 0.03125 0 0.25 ) ( 0 0.03125 60.5 ) ) "textures/common/caulk" 0 0 0 ( 0 0 -1 520 ) ( ( 0.03125 0 127.75 ) ( 0 0.03125 0.25 ) ) "textures/smf/portal_sky" 0 0 0 } } // primitive 1 { brushDef3 { ( 0 0 1 -520 ) ( ( 0.0078125 0 255.875 ) ( 0 0.0078125 255.9375 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 1 0 -400 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -392 ) ( ( 0.0078125 0 255.875 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 8 ) ( ( 0.0078125 0 255.875 ) ( 0 0.0078125 0.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 8 ) ( ( 0.0078125 0 0.125 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 392 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 2 { brushDef3 { ( 0 0 1 -520 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 255.875 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 1 0 -392 ) ( ( 0.0078125 0 0.125 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -400 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 0.125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 8 ) ( ( 0.0078125 0 255.875 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 392 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 3 { brushDef3 { ( 0 1 0 -392 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -392 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 0 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 0.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 8 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 1 -8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 255.9375 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 4 { brushDef3 { ( 0 0 1 -520 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 255.9375 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -392 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 8 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 0 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 8 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 1 0 -8 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 5 { brushDef3 { ( 0 0 1 -520 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 1 0 -392 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 0 -1 8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 0 -1 0 8 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( -1 0 0 0 ) ( ( 0.0078125 0 0.0625 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 ( 1 0 0 -8 ) ( ( 0.0078125 0 255.9375 ) ( 0 0.0078125 239.0625 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0 } } // primitive 6 { patchDef2 { "textures/darkmod/weather/snow_light" ( 3 3 0 0 0 ) ( ( ( 8.000000000000014 8 384 0 0 ) ( 8.000000000000014 200 384 0 -1.5 ) ( 8.000000000000014 392 384 0 -3 ) ) ( ( 200 8 384 1.5 0 ) ( 200 200 384 1.5 -1.5 ) ( 200 392 384 1.5 -3 ) ) ( ( 392 8 384 3 0 ) ( 392 200 384 3 -1.5 ) ( 392 392 384 3 -3 ) ) ) } } // primitive 7 { patchDef2 { "textures/darkmod/metal/flat/copper_old_oxidised" ( 3 3 0 0 0 ) ( ( ( 8 392 384.125 0 0 ) ( 8 200 384.125 0 -0.75 ) ( 8 7.999999999999996 384.125 0 -1.5 ) ) ( ( 199.9607849121094 392 384.125 0.7498468160629273 0 ) ( 199.9607849121094 200 384.125 0.7498468160629273 -0.75 ) ( 199.9607849121094 7.999999999999996 384.125 0.7498468160629273 -1.5 ) ) ( ( 391.9215698242188 392 384.125 1.499693632125855 0 ) ( 391.9215698242188 200 384.125 1.499693632125855 -0.75 ) ( 391.9215698242188 7.999999999999996 384.125 1.499693632125855 -1.5 ) ) ) } } } // entity 1 { "classname" "info_player_start" "name" "info_player_start_1" "angle" "90" "origin" "32 56 16" } // entity 2 { "classname" "light" "name" "ambient_world" "_color" "0.06 0.06 0.06" "light_center" "0 0 0" "light_radius" "864 809 776" "nodiffuse" "0" "noshadows" "0" "nospecular" "0" "origin" "200 216 264" "parallel" "0" "texture" "lights/ambientlightnfo" } Model.cpp.patch (2,201 bytes)
Index: renderer/Model.cpp =================================================================== --- renderer/Model.cpp (revision 5694) +++ renderer/Model.cpp (working copy) @@ -686,24 +686,36 @@ modelSurface_t *surf = &surfaces[i]; // if the surface has a deformation, increase the bounds - // the amount here is somewhat arbitrary, designed to handle - // autosprites and flares, but could be done better with exact - // deformation information. - // Note that this doesn't handle deformations that are skinned in - // at run time... - if ( surf->shader->Deform() != DFRM_NONE ) { - srfTriangles_t *tri = surf->geometry; - idVec3 mid = ( tri->bounds[1] + tri->bounds[0] ) * 0.5f; - float radius = ( tri->bounds[0] - mid ).Length(); - radius += 20.0f; + switch ( surf->shader->Deform() ) { + case DFRM_NONE: + break; + case DFRM_PARTICLE2: { + // expand surface bounds to include any emitted particles + srfTriangles_t *tri = surf->geometry; + const idDeclParticle *particleSystem = (idDeclParticle *)surf->shader->GetDeformDecl(); + tri->bounds.AddBounds(particleSystem->bounds); + } + break; + default: { + // the amount here is somewhat arbitrary, designed to handle + // autosprites and flares, but could be done better with exact + // deformation information. + // Note that this doesn't handle deformations that are skinned in + // at run time... + srfTriangles_t *tri = surf->geometry; + idVec3 mid = ( tri->bounds[1] + tri->bounds[0] ) * 0.5f; + float radius = ( tri->bounds[0] - mid ).Length(); + radius += 20.0f; - tri->bounds[0][0] = mid[0] - radius; - tri->bounds[0][1] = mid[1] - radius; - tri->bounds[0][2] = mid[2] - radius; + tri->bounds[0][0] = mid[0] - radius; + tri->bounds[0][1] = mid[1] - radius; + tri->bounds[0][2] = mid[2] - radius; - tri->bounds[1][0] = mid[0] + radius; - tri->bounds[1][1] = mid[1] + radius; - tri->bounds[1][2] = mid[2] + radius; + tri->bounds[1][0] = mid[0] + radius; + tri->bounds[1][1] = mid[1] + radius; + tri->bounds[1][2] = mid[2] + radius; + } + break; } // add to the model bounds Model.cpp2.patch (2,345 bytes)
Index: renderer/Model.cpp =================================================================== --- renderer/Model.cpp (revision 5694) +++ renderer/Model.cpp (working copy) @@ -686,24 +686,39 @@ modelSurface_t *surf = &surfaces[i]; // if the surface has a deformation, increase the bounds - // the amount here is somewhat arbitrary, designed to handle - // autosprites and flares, but could be done better with exact - // deformation information. - // Note that this doesn't handle deformations that are skinned in - // at run time... - if ( surf->shader->Deform() != DFRM_NONE ) { - srfTriangles_t *tri = surf->geometry; - idVec3 mid = ( tri->bounds[1] + tri->bounds[0] ) * 0.5f; - float radius = ( tri->bounds[0] - mid ).Length(); - radius += 20.0f; + switch ( surf->shader->Deform() ) { + case DFRM_NONE: + break; + case DFRM_PARTICLE: + case DFRM_PARTICLE2: { + // expand surface bounds to include any emitted particles + // Note that this is an approximation. True bounds could be + // calculated by simulating R_ParticleDeform(). + srfTriangles_t *tri = surf->geometry; + const idDeclParticle *particleSystem = (idDeclParticle *)surf->shader->GetDeformDecl(); + tri->bounds.AddBounds(particleSystem->bounds); + } + break; + default: { + // the amount here is somewhat arbitrary, designed to handle + // autosprites and flares, but could be done better with exact + // deformation information. + // Note that this doesn't handle deformations that are skinned in + // at run time... + srfTriangles_t *tri = surf->geometry; + idVec3 mid = ( tri->bounds[1] + tri->bounds[0] ) * 0.5f; + float radius = ( tri->bounds[0] - mid ).Length(); + radius += 20.0f; - tri->bounds[0][0] = mid[0] - radius; - tri->bounds[0][1] = mid[1] - radius; - tri->bounds[0][2] = mid[2] - radius; + tri->bounds[0][0] = mid[0] - radius; + tri->bounds[0][1] = mid[1] - radius; + tri->bounds[0][2] = mid[2] - radius; - tri->bounds[1][0] = mid[0] + radius; - tri->bounds[1][1] = mid[1] + radius; - tri->bounds[1][2] = mid[2] + radius; + tri->bounds[1][0] = mid[0] + radius; + tri->bounds[1][1] = mid[1] + radius; + tri->bounds[1][2] = mid[2] + radius; + } + break; } // add to the model bounds | ||||
What does "player walks under a bright" mean? | |
Shouldn't this be filed against TDM? | |
Do you have a simple map where this doesn't work correctly? I just tried a map where a light snow patch was 300 above the ground, and I could look at my feet and see the flakes falling to the ground. |
|
I have made a basic map where is show the snow not working etc and attached it to this tracker. When you look down the snow stops being rendered. |
|
I added three maps: snowbroken.map 1 - Put snow texture on the top of the snow patch, since the particles are ejected from the backside of the patch. This way they head down, and not up a bit, then down, when spawned. 2 - Moved the snow patch to 256 off the floor and duped it so there were two of them. 3 - Placed metal-textured patches 0.125 above the snow patch so we can see how high the snow patches are when we look up. 4 - When the map starts, wait until the snow reaches the floor. Then slowly look down toward the floor. At some point, the snow will disappear. Look down even more, and the snow reappears. snowbroken1.map 1 - Took snowbroken, deleted one of the snow patches and its corresponding textured patch, and widened the snow patch so it fills the entire room. 2 - Now when you slowly look down, the snow doesn't disappear. Everything looks fine. snowbroken2.map 1 - Took snowbroken1 and moved the snow patch and its textured patch up to where it's 376 off the floor. 2 - Now when you slowly look down, the snow disappears at a certain place and reappears again, as it did in snowbroken.map. I don't know why the snow behaves this way, but maybe these maps can help someone track down the issue. |
|
Since this doesn't appear to be a DR issue, I suggest moving it to TDM so it catches the right person's eye. | |
Could this be related to the flickering particle effect? Certain particles don't render correctly when you look down at them, like gas arrows. | |
It looks like the particles are just being culled. Here is some info from http://www.iddevnet.com/doom3/editor_particle.php : "Bounds expansion lets you add some constant amount to the size of the bounding box surrounding the particle system. This is only needed if you encounter a weird situation where your particles are disapearing when you face a certain direction. What is actually happening is the particle system is getting clipped with the view frustum because the bounds is too small. This theoretically shouldn't ever happen, but in reality it sometimes does." Here is a hint from http://www.doom3world.org/phpbb2/viewtopic.php?t=24304 : "Bounds Expansion is a tool to supposedly fix a problem that sometimes occurs in Doom 3 where sometimes viewing a particle beyond its bounds makes them disappear. In-game, essentially, you can be looking at say some cloudy skies at one angle, then look at it at another angle and the particles stop rendering and completely disappear. Bounds Expansion is supposed to fix this by increasing the bounds, therefore preventing this from ever happening. However, I have never been able to get this to work. iddevnet says to give a large value, but irregardless of how many zeros I add, nothing seems to happen. I believe this tool is broken and should be ignored, unless this issue is exclusive to me. If you can get it to work, great, but if not, you know why." My own findings: 1. idParticleStage::boundsExpansion is taken into account while computing bounding boxes of the particles emitted from surfaces (idDeclParticle::GetStageBounds()). Not that it changes anything. 2. The particles are culled when their particle-emitting-surface is being culled in R_AddAmbientDrawsurfs(). It happens because the bbox of the surface is not yet expanded to include the bbox of the particles. It is updated later - in R_ParticleDeform() run from R_AddDrawSurf(). 3. Another bbox to watch for is entity->referenceBounds that is used for early culling in CullEntityByPortals(). |
|
I've attached a patch for this issue. This is a bug in Doom3 renderer/Model.cpp. Model bounds calculation did not account for particle systems' bounds. | |
I've added slightly modified patch (Model.cpp2.patch) that handles also particles of type DFRM_PARTICLE. | |
Zbyl contributed corrected code for correctly displaying particles regardless of view orientation. rev. 5705: Model.cpp I tested the included snow maps, and they're fine now. I also tested Awaiting the Storm and Thief's Den, where rain is used. They also looked fine. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
06.01.2013 16:47 |
|
New Issue | |
06.01.2013 17:18 | grayman | Note Added: 0004984 | |
06.01.2013 20:02 | grayman | Note Added: 0004985 | |
06.01.2013 20:11 | grayman | Note Added: 0004986 | |
06.01.2013 20:27 |
|
Steps to Reproduce Updated | |
06.01.2013 20:28 |
|
Category | Map Editing => Renderer |
06.01.2013 20:29 |
|
Note Added: 0004987 | |
06.01.2013 20:36 |
|
File Added: snow.map | |
06.01.2013 20:37 |
|
Note Edited: 0004987 | |
06.01.2013 20:38 |
|
Note Edited: 0004987 | |
06.01.2013 20:53 |
|
Additional Information Updated | |
06.01.2013 22:22 | grayman | File Added: snowbroken.map | |
06.01.2013 22:22 | grayman | File Added: snowbroken1.map | |
06.01.2013 22:22 | grayman | File Added: snowbroken2.map | |
06.01.2013 22:35 | grayman | Note Added: 0004988 | |
06.01.2013 22:35 | grayman | Note Edited: 0004988 | |
06.01.2013 22:37 | grayman | Note Added: 0004989 | |
10.01.2013 03:25 | greebo | Project | DarkRadiant => The Dark Mod |
10.01.2013 03:25 | greebo | Category | Renderer => General |
14.01.2013 20:54 | Springheel | Note Added: 0005012 | |
29.01.2013 23:51 | Zbyl | Note Added: 0005037 | |
31.01.2013 14:46 | Zbyl | Note Edited: 0005037 | |
31.01.2013 19:13 | Zbyl | File Added: Model.cpp.patch | |
31.01.2013 19:15 | Zbyl | Note Added: 0005040 | |
19.02.2013 14:26 | Zbyl | File Added: Model.cpp2.patch | |
19.02.2013 14:27 | Zbyl | Note Added: 0005081 | |
27.02.2013 00:48 | grayman | Note Added: 0005116 | |
27.02.2013 00:48 | grayman | Assigned To | => grayman |
27.02.2013 00:48 | grayman | Status | new => resolved |
27.02.2013 00:48 | grayman | Resolution | open => fixed |
27.02.2013 00:48 | grayman | Category | General => AI |
27.02.2013 00:48 | grayman | Product Version | 1.7.2 => |
27.02.2013 00:48 | grayman | Fixed in Version | => TDM 2.00 |
27.02.2013 00:48 | grayman | Target Version | => TDM 2.00 |