windows - wglGetProcAddress til OpenGL 1.1 funktioner

Indlæg af Hanne Mølgaard Plasc

Problem



Denne wiki-side på OpenGL-websiden hævder, at OpenGL 1.1-funktioner IKKE skal indlæses via wglGetProcAddress, og formuleringen synes at indebære, at nogle systemer ved design returnerer NULL, hvis du prøver:


http://www.opengl.org/wiki/Platform\_specifics:\_Windows#wglGetProcAddress[3]


(Ideen er at kun 1,2 + funktioner fortjener indlæsning ved hjælp af wglGetProcAddress).


Siden fortæller ikke os, hvem der rapporterede disse mislykkede wglGetProcAddress-opkald på 1.1-funktioner, som jeg aldrig har set. Og google-søgninger så ved siden af ​​heller ingen oplysninger om problemet.


Ville wglGetProcAddress () faktisk returnere NULL til 1.1 funktioner for nok brugere, så jeg egentlig bør passe? Eller svigter det bare for nogle få uheldige brugere med virkelig ødelagte GPU-drivere (i så fald er jeg ikke meget omhyggelig).


Har nogen andre stødt på dette?

Bedste reference


Jeg besvarede dette teknisk på diskussionssiden af ​​denne Wiki-artikel, men: [4]



  Ville wglGetProcAddress () faktisk returnere NULL til 1.1 funktioner for nok brugere, så jeg egentlig bør passe?



Det vil returnere NULL til alle brugere. Jeg har prøvet det på NVIDIA og ATI platforme (nyere drivere og DX10 hardware), og alle gør det.

Andre referencer 1


Spørgsmålet, du skal spørge dig selv, er, om det betyder noget for dig og om du skal pleje.


Ved at indlæse OpenGL 1.1-funktionerne manuelt ville det betyde, at du skal bruge forskellige funktionsnavne, eller de vil kollidere med deklarationerne i gl/gl.h. Eller du skal definere GL\_NO\_PROTOTYPES, men i dette tilfælde vil du også ikke have OpenGL 1.0-funktionalitet.

Så under alle omstændigheder ville det betyde ekstra problemer uden gevinster, du kan simpelthen bruge 1.1 funktionalitet uden at gøre noget.


Når jeg har sagt det, har jeg prøvet dette en gang, fordi jeg troede, at det ville være en genial idé at indlæse dynamisk dynamikken alt (da jeg blev forvirret, spekulerede jeg på, hvad der gav mig den idé), og det kan jeg bekræfte det virker ikke (eller i det mindste ikke for 2 år siden) med nVidia-drivere.

Selv om man tænker på det, er det helt berettiget, og endda en god ting, at noget, der ikke giver mening, virker ikke.