ATI & Textures

ogiogi
edited 2009 Aug 9 in Technical Support
The goal is correcting errors in the texture mapping graphics cards ATI (lattice type)?

Comments

  • Do you have a screenshot?
  • Ah, that is a known problem and hopefully should be fixed sometime in the near future
  • Hi KuriKai,

    I have exactly the same issue as the OP and I'm using an ATI HD4670. Could you tell me what this problem is or point me to the bug track page?

    At present, it makes Doomsday unplayable, these textures are displayed properly in GZDoom. It's a shame as Doomsday is a prettier engine and I was looking forward to seeing how it had developed since I last ran Doom some years ago. Everything else about the package is excellent.

    Cheers.
  • I'd love to see this issue resolved, but as I don't have an ATI card to debug with I can't really do much about it (apart from shooting in the dark). I thought I could use my old office laptop with an ATI Mobility Radeon but of course I can't remember its boot password... :grr: The latest I heard from DaniJ is that he has an ATI card stashed somewhere but hasn't had a chance to install it anywhere.
  • If this is a minor coding issue, then I'd love to see it get fixed for beta 6.5.

    According to the DE blog, it seems that not a lot is going to be changed for the next version, but this fix would make it an awesome release.
  • As I promised DaniJ last night over AIM, I said I'd check it on my ATI box, (specs @ -> http://shinka.bpa.nu/blog/yagisan/2009/ ... entsystems )

    I'll be frank and state what is obvious from the picture - I did take it from my shinka port - which was last rebased against doomsday 1.9.0-beta6.2 - there are NO changes in the opengl renderer from doomsday (you can check the git repo to verify if you wish).

    screenshotvsp.th.png

    Please note the OpenGL information in the screenshot,
    Con_Init: Initializing the console.
    Executable: Version 2009.06.01.0 +R Jul 25 2009 (+D DGL).
    Sys_InitWindowManager: Using SDL window management.
    Z_Create: New 32.0 MB memory volume.
    createContext: OpenGL.
    createContext: OpenGL.
    OpenGL information:
    Vendor: Tungsten Graphics, Inc.
    Renderer: Mesa DRI Radeon 20061018 AGP 2x x86/MMX TCL
    Version: 1.3 Mesa 7.4
    GLU Version: 1.3
    Available Texture units: 3
    Maximum Texture Size: 2048
    Maximum Anisotropy: 16
    Line Width Granularity: 0.1
    Line Width Range: 1.0...10.0
    Extensions:
    GL_ARB_imaging GL_ARB_multisample
    GL_ARB_multitexture GL_ARB_texture_border_clamp
    GL_ARB_texture_compression GL_ARB_texture_cube_map
    GL_ARB_texture_env_add GL_ARB_texture_env_combine
    GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3
    GL_ARB_texture_mirrored_repeat GL_ARB_texture_rectangle
    GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object
    GL_ARB_window_pos GL_EXT_abgr
    GL_EXT_bgra GL_EXT_blend_color
    GL_EXT_blend_logic_op GL_EXT_blend_minmax
    GL_EXT_blend_subtract GL_EXT_clip_volume_hint
    GL_EXT_compiled_vertex_array GL_EXT_convolution
    GL_EXT_copy_texture GL_EXT_draw_range_elements
    GL_EXT_fog_coord GL_EXT_histogram
    GL_EXT_packed_pixels GL_EXT_polygon_offset
    GL_EXT_rescale_normal GL_EXT_secondary_color
    GL_EXT_separate_specular_color GL_EXT_stencil_wrap
    GL_EXT_subtexture GL_EXT_texture
    GL_EXT_texture3D GL_EXT_texture_edge_clamp
    GL_EXT_texture_env_add GL_EXT_texture_env_combine
    GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotro
    GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp
    GL_EXT_texture_object GL_EXT_texture_rectangle
    GL_EXT_vertex_array GL_APPLE_packed_pixels
    GL_ATI_texture_env_combine3 GL_ATI_texture_mirror_once
    GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat
    GL_MESA_ycbcr_texture GL_MESA_window_pos
    GL_NV_blend_square GL_NV_light_max_exponent
    GL_NV_texture_rectangle GL_NV_texgen_reflection
    GL_OES_read_format GL_SGI_color_matrix
    GL_SGI_color_table GL_SGIS_generate_mipmap
    GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp
    GL_SGIS_texture_lod
    DGL Configuration:
    NPOT Textures: Disabled
    Texture Compression: Disabled
    Variable Texture Anisotropy: Enabled
    Utilized Texture Units: 2
    GL_Init: Initializing Doomsday Graphics Library.
    Multitexturing enabled (full).
    Sys_Init: Setting up machine state.
    Sys_Init: Initializing keyboard, mouse and joystick.
    I_InitJoystick: No joysticks found
    Sys_InitTimer.
  • Me again. I downloaded the windows build of the doomsday 1.9.0-beta6.4 release and had windows 2000 installed on my ATI box. Same system as the previous test, but with windows 2000 and the catalysts 6.2 drivers (latest drivers that support my card).

    And the results are:
    winscreenshot.th.png
    Z_Create: New 32.0 MB memory volume.
    Con_Init: Initializing the console.
    Executable: Version 1.9.0-beta6.4 Jul 6 2009 (DGL).
    Sys_InitWindowManager: Using Win32 window management.
    Z_Create: New 32.0 MB memory volume.
    createContext: OpenGL.
    OpenGL information:
    Vendor: ATI Technologies Inc.
    Renderer: RADEON 7500 DDR x86
    Version: 1.3.1050 Win2000 Release
    GLU Version: 1.2.2.0 Microsoft Corporation
    Available Texture units: 3
    Maximum Texture Size: 2048
    Maximum Anisotropy: 16
    Num Texture Formats: 4
    Line Width Granularity: 0.1
    Line Width Range: 0.5...10.0
    Extensions:
    GL_ARB_multitexture GL_EXT_texture_env_add
    GL_EXT_compiled_vertex_array GL_S3_s3tc
    GL_ARB_occlusion_query GL_ARB_texture_border_clamp
    GL_ARB_texture_compression GL_ARB_texture_cube_map
    GL_ARB_texture_env_add GL_ARB_texture_env_combine
    GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3
    GL_ARB_texture_mirrored_repeat GL_ARB_transpose_matrix
    GL_ARB_vertex_blend GL_ARB_vertex_buffer_object
    GL_ARB_window_pos GL_ATI_envmap_bumpmap
    GL_ATI_map_object_buffer GL_ATI_texture_env_combine3
    GL_ATI_texture_mirror_once GL_ATI_vertex_array_object
    GL_ATI_vertex_streams GL_ATIX_texture_env_combine3
    GL_ATIX_texture_env_route GL_EXT_abgr
    GL_EXT_bgra GL_EXT_clip_volume_hint
    GL_EXT_draw_range_elements GL_EXT_fog_coord
    GL_EXT_multi_draw_arrays GL_EXT_packed_pixels
    GL_EXT_point_parameters GL_EXT_rescale_normal
    GL_EXT_secondary_color GL_EXT_separate_specular_color
    GL_EXT_stencil_wrap GL_EXT_texgen_reflection
    GL_EXT_texture3D GL_EXT_texture_compression_s3t
    GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp
    GL_EXT_texture_env_combine GL_EXT_texture_env_dot3
    GL_EXT_texture_filter_anisotro GL_EXT_texture_lod_bias
    GL_EXT_texture_mirror_clamp GL_EXT_texture_object
    GL_EXT_texture_rectangle GL_EXT_vertex_array
    GL_HP_occlusion_test GL_NV_blend_square
    GL_NV_occlusion_query GL_NV_texgen_reflection
    GL_SGI_color_matrix GL_SGIS_generate_mipmap
    GL_SGIS_multitexture GL_SGIS_texture_border_clamp
    GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod
    GL_SUN_multi_draw_arrays GL_WIN_swap_hint
    WGL_EXT_extensions_string WGL_EXT_swap_control
    Extensions (WGL):
    WGL_ARB_extensions_string WGL_ARB_make_current_read
    WGL_ARB_pbuffer WGL_ARB_pixel_format
    WGL_ARB_render_texture WGL_EXT_extensions_string
    WGL_EXT_swap_control
    DGL Configuration:
    NPOT Textures: Disabled
    Texture Compression: Enabled
    Variable Texture Anisotropy: Enabled
    Utilized Texture Units: 2
    Multisampling: DisabledGL_Init: Initializing Doomsday Graphics Library.
    Multitexturing enabled (full).
    Sys_Init: Setting up machine state.
    Sys_Init: Initializing keyboard, mouse and joystick.
    Sys_InitTimer.
    Parsing configuration files.
    W_Init: Init WADfiles.
    W_AddFile: C:\Program Files\Doomsday\data\doomsday.pk3
    W_AddFile: C:\Program Files\Doomsday\data\jdoom\jdoom.pk3
    W_AddFile: c:\doomu.wad
    IWAD identification: 00cdce4c
    I've leave it to you to draw your own conclusions from this.
  • Yagisan wrote:
    I've leave it to you to draw your own conclusions from this.
    Yes, your ATI card is too old.

    I was visiting the folks today and remembered my dad has a PC with an ATI Radeon 9600. Upon first try everything seemed to work perfectly, using the old ATI driver from 2006 (atiogl1x.dll 6.14.10.1030). I then upgraded to the latest one available (from April 2009, atioglxx.dll 6.14.10.8543) and the masked textures were no longer rendered correctly.

    After a bit of checking I found the problem: the texture coordinates for the masked walls were not specified correctly according to the OpenGL specs of glMultiTexCoord2f. It's now fixed for Beta6.5.

    Apparently the old ATI drivers (and Nvidia drivers, for that matter) are more forgiving when it comes to using values that are not valid according to the spec.
  • skyjake wrote:
    Yagisan wrote:
    I've leave it to you to draw your own conclusions from this.
    Yes, your ATI card is too old.
    The conclusions should be as you note further down in your post is that something in the drivers changed and it no longer likes the values you erroneously give it.
    skyjake wrote:
    Apparently the old ATI drivers (and Nvidia drivers, for that matter) are more forgiving when it comes to using values that are not valid according to the spec.
    That's at least 2 sets of ATI drivers (opensource and closed source), nvidia drivers, intel drivers.

    Thanks for the dismissal though - I'll keep it in mind when I next get tempted to research doomsday bugs - like this one that has been ignored for what 2 years now ?
  • Yagisan wrote:
    Thanks for the dismissal though - I'll keep it in mind when I next get tempted to research doomsday bugs - like this one that has been ignored for what 2 years now ?
    What do you want, a medal? :thumb: I give thanks for useful information.

    Seriously, though, better late than never. The biggest failing I see here is that neither me or DaniJ uses a modern ATI card daily -- we really should.
  • Hey thanks a lot Yagisan for investigating the issue and Skyjake for fixing this (I'm suprised you're still at it after all these years), :yay: Doom looks as pretty as a classic Disney cartoon on Doomsday.

    I think ATI cards aren't perceived as "sexy" as nVidia's. Maybe because they're cheaper? My HD4670 was certainly the cheapest way to get relatively modern performance on my old box - it copes well with Fallout 3, Bioshock and I can even get playable frame rates on Crysis on my poor overheating P4HT. The new HD4890s are pretty cheap.

    Oh wait, I suppose I'll have to request a name change? :D
  • LOL yeah your name is hilarious :lol:

    Well as far as I know, ATi have the fastest card on the block right now - or at least as of a month ago or something. The HD4890 X2 or something... i'm not up-to-date with video cards.

    Oh, nah the nVidia GTX295 is faster apparently. Lawl.

    Anyway, I remember on a previous version of Doomsday I had a *different* graphikal glitch on my HD3200 (onboard). I found that turning on texture clamping and locking the Z-buffer depth (or something?) fixed it but then it ran like a dog. Then I realized that it was only an OpenGL issue, whereas Direct3D worked fine. Insignificant now though as I run a 9600GT that was shit loads cheaper than the ATi HD3800 (which isnt even as good according to benchmarks).

    Considering the original drafters of the Glide specification, 3DFX, had all their tech liquidated into nVidia R&D some years ago, it'd make sense that nVidia kind of pave-the-way for OpenGL specifications or something like that. ATi always sort of was the shadow of nVidia, but their main drive always used to be Home Theater and Mobility/Integrated solutions. Even now that they are owned by AMD, they are still smaller than nVidia. Regardless, I think the Fusion platform will be interesting... the Intel and nVidia Laptop scene will be under threat from AMD Fusion, but nVidia Ion platform might storm the Netbook industry. Either way, i'd be happy if all Intel GMA's were left dead.

    Ahem... So skyjake fixed the coord call? Nice work :)
  • If I can jump in here.... I was playing Heretic the last few days, and on level 4, I ran into this...

    http://img403.imageshack.us/img403/8115 ... ext000.jpg

    If I understand, I don't need to submit a bug report. This is the bug that was fixed? Those are supposed to be "windows", but they flash and blink between windows (like the one nearest to me) and orange boxes (like the two farthest away).

    Thanks!!

    codone
  • codone wrote:
    This is the bug that was fixed?
    Looks very much like it, yes.
  • Wow, what Heretic setup is that? It looks _GORGEOUS_
  • Its the Heretic pack from this site:

    jHeretic Resource Pack (jHRP)

    http://forums.newdoom.com/showthread.php?t=11686
  • Where are we at with this 'midbars' issue since the 1.9.0-beta6.5 release, is it resolved?
  • I do not use the hi-res textures, but my old problem with transparent textures was definately fixed with this release.

    (Hooraayy!!!) :D
  • Fixed the problem for me too!!! Now I can see there are wooden grates on those windows...!! Nice job!

    See picture below!

    http://img248.imageshack.us/img248/6571 ... ext002.jpg
  • codone wrote:
    Fixed the problem for me too!!! Now I can see there are wooden grates on those windows...!! Nice job!

    See picture below!

    http://img248.imageshack.us/img248/6571 ... ext002.jpg

    Since when did the Ethereal Crossbow get a new model? Looks nice! On another note, looking at the wall on the left I can see how the Texture has "restarted" (because it's a new wall) and you're presented with a physical line... maybe in future we can see Doomsday do some-kind of "megatexture pointmapping" that can detect if a different-angled wall is connected but assigned the same texture to just wrap the graphic and continue... if you know what I mean. That'd be cool, but I assume such a thing would come along with stuff like psuedo Curved Surfaces (e.g., Quake 3) and Model-Based mapping. By that I mean, post Deng 2 :)
  • JonusC wrote:
    looking at the wall on the left I can see how the Texture has "restarted" (because it's a new wall) and you're presented with a physical line... maybe in future we can see Doomsday do some-kind of "megatexture pointmapping" that can detect if a different-angled wall is connected but assigned the same texture to just wrap the graphic and continue...
    All surfaces which are part of the physical map (basically walls and floors) take a unique set of coordinates which are used to align textures upon them. In the DOOM, Heretic and Hexen, said coordinates are specified within the map format itself. This means that responsibility for correctly aligned textures belongs with the map's author(s).

    However, there is the possiblity for an algorithm that would attempt to automatically align world surface textures (many editors such as DOOM Builder already feature such functionality). The problem with such an algorithm in the context of Doomsday's map loader is that it would be in direct competition with the intention of the original map author(s). For example, a frequent practice is to deliberately miss-align textures in a mathematical sense but by doing so, a more visually pleasing result is achieved.

    As has already been announced, part of the plan for the 2.0 Doomsday architecture is the integration of (some) key mod-authoring functionality, including an in-game map editor. An automatical tool for aligning textures would be part of the necessary featureset of such an editor. So, as this means we will be implementing such logic at some point anyway, there would be relatively little additional work involved in allowing the user to (optionally) have the engine run this algorithm on all maps as part of the map load process.

    I have a pretty good understanding of what is required for such an algorithm, what with the experience I've gained through various automatical map generator side-projects that I've tinkered with over the years (anyone remember the ever-delayed SCUDD?). Of particular note is the algorithm used for this very purpose devised by David Chess for his Slige project. A key feature of the implementation allowed the user to influence results by supplying additional metadata for textures, which is used to guide the auto-align logic.
  • DaniJ wrote:
    The problem with such an algorithm in the context of Doomsday's map loader is that it would be in direct competition with the intention of the original map author(s).
    Well, in regards to IWAD's there could be perhaps some DED sector supplements or something like that (a sort of "patch" file) that could predict a continuation of a texture and adjust alignment appropriately on map generation or something, IDK just spinning ideas really.
    DaniJ wrote:
    For example, a frequent practice is to deliberately miss-align textures in a mathematical sense but by doing so, a more visually pleasing result is achieved.
    Yeah, i'm familiar with that sort of thing. I understand how some from history would do some 3D engine trickery (hacks even) to achieve a sense of 'fake' perspective or dimension, probably a similar thing. Hel, Doom is a 2.5D game after all.
    DaniJ wrote:
    As has already been announced, part of the plan for the 2.0 Doomsday architecture is the integration of (some) key mod-authoring functionality, including an in-game map editor. An automatical tool for aligning textures would be part of the necessary featureset of such an editor.
    Yes and that's VERY exciting!
    DaniJ wrote:
    I have a pretty good understanding of what is required for such an algorithm, what with the experience I've gained through various automatical map generator side-projects that I've tinkered with over the years (anyone remember the ever-delayed SCUDD?).
    TerraGen? :))
    DaniJ wrote:
    Of particular note is the algorithm used for this very purpose devised by David Chess for his Slige project. A key feature of the implementation allowed the user to influence results by supplying additional metadata for textures, which is used to guide the auto-align logic.
    Hey that's close to what I was thinking for my reply on the first quote here. But yeah - to actually provide extra instructions for the already existing alignment... I would assume that the said "auto-align tex-cord logic" would have to be relatively close to the core of the graphic engine, unless of course it generates new 'Normals' at load time.
Sign In or Register to comment.