Welche GFX-Karten sind zur glFogCoordf Extension kompatibel?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Welche GFX-Karten sind zur glFogCoordf Extension kompatibel?

Beitrag von DarkDragon »

Hallo,

Ich habe mich gerade mal etwas mit der Extension glFogCoordf - Positionierung des Nebels beschäftigt. Kann mir jemand sagen, zu welchen Grafikkarten diese Extension kompatibel ist?

Wenn ihr es nicht wisst, dann schreibt bitte eure Grafikkarte hin und das Ergebnis von diesem Code:

Code: Alles auswählen

#WindowWidth = 1
#WindowHeight = 1
#WindowFlags = #PB_Window_Invisible
Version.f = 1.0

#GL_FOG_COORDINATE_SOURCE_EXT = $8450
#GL_FOG_COORDINATE_EXT = $8451

Global hWnd.l, Event

Procedure TestExtension()
  Shared glFogCoordfEXT
  
  Extensions.s = PeekS(glGetString_($1F03))
  If FindString(Extensions, "EXT_fog_coord", 1)
  glFogCoordfEXT = wglGetProcAddress_("glFogCoordfEXT")
  If glFogCoordfEXT
    MessageRequester("OK", "Extension ist vorhanden.")
    ProcedureReturn 1
  EndIf
  EndIf
  MessageRequester("ERROR", "Extension ist nicht vorhanden.")
EndProcedure

If OpenWindow(0, 0, 0, #WindowWidth, #WindowHeight, #WindowFlags, "OpenGL Scene "+StrF(Version, 1))

hWnd = WindowID(0)
hDC = GetDC_(hWnd)

;Initialize OpenGL
pfd.PIXELFORMATDESCRIPTOR
pfd\nSize        = SizeOf(PIXELFORMATDESCRIPTOR)
pfd\nVersion     = 1
pfd\dwFlags      = #PFD_SUPPORT_OPENGL | #PFD_DOUBLEBUFFER | #PFD_DRAW_TO_WINDOW
pfd\iLayerType   = #PFD_MAIN_PLANE
pfd\iPixelType   = #PFD_TYPE_RGBA
pfd\cColorBits   = 32
pfd\cDepthBits   = 32
pixformat = ChoosePixelFormat_(hDC, pfd)
SetPixelFormat_(hDC, pixformat, pfd)
hrc = wglCreateContext_(hDC)
wglMakeCurrent_(hDC, hrc)

SwapBuffers_(hDC)

TestExtension()
wglMakeCurrent_(0, 0)
ReleaseDC_(hWnd, hDC)
EndIf
Ein Renderingcontext muss mit eingerichtet werden, bevor man OpenGL richtig nutzen kann. Deshalb ist im Code auch ein Fenster.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Extension ist vorhanden
S3 Graphics Twister (Shared Memory Card für Notebook)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Vorhanden: GeForce 4 MX 440 (NVidia)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Re: Welche GFX-Karten sind zur glFogCoordf Extension kompati

Beitrag von traumatic »

Ich hab's mal spaßeshalber auf einer ATI Rage 128 Schlunze getestet.

Wenn dieses Teil schon GL_EXT_fog_coord unterstützt, wird es wohl
schwer sein, eine Karte zu finden, die die Extension _nicht_ unterstützt... ;)

(Wobei es mich echt wundert, dass das Ding angeblich sogar 3D-Texturen
können soll. Naja, wahrscheinlich bei +/-1 FPS...)

Hier mal einer Liste aller auf dieser Karte verfügbaren Extensions -
vielleicht kannst Du das ja irgendwie gebrauchen:

Code: Alles auswählen

GL_ARB_multitexture
GL_ARB_texture_border_clamp
GL_ARB_texture_env_add
GL_EXT_texture_env_add
GL_ARB_transpose_matrix
GL_ARB_vertex_blend
GL_ATI_texture_mirror_once
GL_ATI_vertex_shader
GL_ATI_vertex_streams
GL_ATIX_vertex_shader_output_point_size
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_clip_volume_hint
GL_EXT_compiled_vertex_array
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_packed_pixels
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_edge_clamp
GL_EXT_texture_env_combine
GL_EXT_texture_object
GL_EXT_vertex_array
GL_KTX_buffer_region
GL_ARB_window_pos
GL_NV_texgen_reflection
GL_SGI_texture_edge_clamp
GL_SGIS_texture_border_clamp
GL_SGIS_texture_lod
GL_SGIS_multitexture
GL_WIN_swap_hint
WGL_EXT_extensions_string
WGL_EXT_swap_control
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Bohya!!! Danke.

Ich denke ich kann diese Extension ohne bedenken nutzen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Nun fehlt nurnoch eins: die einbindung von Volumetric Fog in VertexArrays. :? :P
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten