Dziękuje Konrad za odpowiedź lecz jak dla mnie jest ona zbyt ogólna.
Szczeże mówiąc spodziewałem się że szybko ktoś mi pomożę bo na forum wiem że kilka osób korzysta z takich rozwiązań.
Może żeby było prościej pokaże wam jak ja to robię i proszę o wskazanie błędów:
Przykładowy kod źródłowy .dll (tworzenie kwadratu):
#include "dll.h"
#include <windows.h>
#include <gl\gl.h>
#include <gl\glu.h>
#include <gl\glaux.h>
#define export extern "C" __declspec(dllexport)
export char *Fquads(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-1.5f,0.0f,-6.0f);
glBegin(GL_QUADS);
glVertex3f(-1.0f, 1.0f, 0.0f); // górny lewy
glVertex3f( 1.0f, 1.0f, 0.0f); // górny prawy
glVertex3f( 1.0f,-1.0f, 0.0f); // dolny prawy
glVertex3f(-1.0f,-1.0f, 0.0f); // dolny lewy
glEnd();
}
Kod wywołania w Game Maker w "ciele" obiektu:
GML
Fquads = external_define( 'Projekt1.dll', 'Fquads', dll_stdcall, ty_string, 0);
external_call(Fquads);
external_free('Projekt1.dll')
Proszę o szybką analize :)