OpenGL - Imports

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

OpenGL - Imports

Beitrag von X0r »

Benötige folgende Funktionen:
glBeginQuery:procedure(target:GLenum;id:GLuint);stdcall;
glEndQuery:procedure(target:GLenum);stdcall;
glGetQueryiv:procedure(target,pname:GLenum;params:PGLint);stdcall;
glGetQueryObjectiv:procedure(id:GLuint;pname:GLenum;params:PGLint);stdcall;
glGetQueryObjectuiv:procedure(id:GLuint;pname:GLenum;params:PGLuint);stdcall;

Irgendwie wills bei mir nicht klappen. Ich bekomme nur nen Polink-Error.
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 »

Wo sind Deine Versuche jetzt?

GLenum ist wohl eine Enumeration, also ein Long.
GLUint auch ein Long
pName wird ein Pointer sein

Einfach mal die Header durchsehen und importieren, aber soweit ich
weiß gibts doch komplette Imports für PB von Remy Meyer.
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
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

GLenum ist wohl eine Enumeration, also ein Long.
GLUint auch ein Long
pName wird ein Pointer sein
Na das weiß ich auch...
Aber es scheint, als ob er die Funktion garnicht finden würde.
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 »

Ich weiß ja nicht wo Du die Funktionen her hast, in der open32.lib gibts die
nicht. Sieht sowieso nach einer OOP Lib aus, also welche Lib versucht Du zu
importieren?
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
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Sieht sowieso nach einer OOP Lib aus, also welche Lib versucht Du zu
importieren?
Ne, OpenGL ist nicht objektorientiert.

Aus der opengl32.lib. Ich meine, das sie dort enthalten sein müsste.
Zuletzt geändert von X0r am 01.06.2009 16:58, insgesamt 1-mal geändert.
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 »

Was sind das für Funktionen, die Du importieren möchtest, wo hast Du die her?
Zu welcher DLL gehören die? In open32.lib sind die nicht enthalten, also
wie soll man Dir jetzt helfen?
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
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

>Was sind das für Funktionen, die Du importieren möchtest, wo hast Du die her?

http://wiki.delphigl.com/index.php/Occlusion_Query

Ganz normale OpenGL-Funktionen. Da ich keine weiteren Angaben habe, habe ich versucht sie aus der opengl32.lib zu importieren.

Edit:
http://www.dsource.org/projects/unid/br ... L.d?rev=36
Muss wohl mitwglGetProcAddress funktionieren.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Ja mit wglGetProcAddress, glBeginQueryARB ;-) .
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.
hmi222
Beiträge: 69
Registriert: 23.03.2007 13:20
Kontaktdaten:

Beitrag von hmi222 »

yup... wie Bradan sagt...
das gleiche auch wenn du mal mit VSYNC arbeiten möchtest...
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Naja, es stimmt nicht ganz.
Diese Extensions können auch statisch gelinkt werden, aber das geht erst wenn die Extensions mit den Suffixen ARB/EXT/NV/ATI/... offiziell getestet wurden und das kann einige OpenGL Versionen dauern. Desshalb steht in der glext.h auch immer:

Code: Alles auswählen

#ifdef GL_GLEXT_PROTOTYPES
// Statisch gelinkte Funktionen
#endif /* GL_GLEXT_PROTOTYPES */
// Typendefinitionen in dem Fall, dass man mit Funktionspointern arbeitet mit einer geeigneten Funktion wie wglGetProcAddress.
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