| |
|
|
| Wenn Yo hier en el Programa mein linkes Opengl-Bild drehe (Taste Q/E), se en el rechten Ventana el Bild como normales Pic dargestellt voluntad. Lo funktioniert soweit bajo el normalen Profano, con Profano2cpp no Das Problema, es si yo anfange a drehen, Luego se el rechte Bild erneuert, aber el Fläche es blanco, lo son no Daten drin
Muss en Profano2cpp irgendwie el Speicher fürs Bild usw anders reserviert voluntad? Welche Fehler Yo gemacht. Unten es el gesamte Programa.
Im Anhang es una Zip auch con una EXE de Profano y una EXE de Profano2cpp KompilierenMarcaSeparación $H Windows.ph
DEF rgb_umwandlung(2) ! "bmptex.dll","bmptex"
declare x1!,y1!,dx!,dy!,winkel!,y&,z%,a&,test%
declare bild_auto_h&,bild_umw_h&
declare bmi#,bildxy# ,ogl_rgb#
dim ogl_rgb#,128*128*4+1032
var texid%=0
var ende%=1
Window 20,20-600,400
Cls @RGB(220,220,220)
var hWin& = @Create("text", %hWnd, "Test1", 10, 10, 128,128)
var hWin1& = @Create("text", %hWnd, "Test1", 180, 10, 250,250)
oGL("Init", hwin&, 0,0, 0, 0)
oGL("PosMode", 1)
ogl("glReadBuffer",~GL_Front)
bild_auto_h& = Create("hPic", -1,"leer.bmp") Bildcontainer für "setDIBits"
var tex.auto%=erzeugetex("auto.bmp")
setTimer 18
drawglscene
drawglscene
oglzubmp
WHILE ende%
WaitInput
if isKey(81)
winkel!=winkel!+1.0
drawglscene
oglzubmp()
endif
if isKey(69)
winkel!=winkel!-1.0
drawglscene
oglzubmp()
endif
ENDWHILE
killTimer
end
proc oglzubmp
ogl("glReadPixels",0,0,128,128,~GL_BGRA,~GL_UNSIGNED_BYTE,ogl_rgb#)
~setDIBits(%hdc,bild_auto_h&,0,128,ogl_rgb#,bmi#,0)
mcls 128,128
startpaint -1
drawpic bild_auto_h&,0,0,-1
endpaint
startpaint hWin1&
mcopybmp 0,0-127,127>50,50,-1
endpaint
endproc
proc drawglscene
OGL("Clear")
OGL("origin",0,0,-1.11)
OGL("texture",tex.auto%,1)
OGL("rotate",0,0,winkel!)
OGL("quad",0.5,0.5)
OGL("show")
endproc
proc bitmap_header
def &BI_RGB 0
def &DIB_RGB_COLORS 0
struct BITMAPINFOHEADER =
biSize&, biWidth&, biHeight&, biPlanes%, biBitCount%, biCompression&,
biSizeImage&, biXPelsPerMeter&, biYPelsPerMeter&, biClrUsed&, biClrImportant&
dim bmi#,BITMAPINFOHEADER
clear bmi#
with bmi#
.biSize& = sizeof(bmi#)
.biWidth& = 128
.biHeight& = 128
.biPlanes% = 1
.biBitCount% = 32
.biCompression& = &BI_RGB
.biSizeImage& = ((.biWidth& * .biBitCount% 8 - 1) | 3 + 1) * abs(.biHeight&)
endwith
endproc
proc erzeugetex
parameters namebild$
bitmap_header()
bild_umw_h& = Create("hPic", -1, namebild$)
a&=bmi#.biSizeImage&
dim bildxy#,a&+1032
~GetDIBits(%hdc,bild_umw_h&,0,bmi#.biHeight&,bildxy#,bmi#,0)
rgb_umwandlung(bildxy#,a&)
OGL("glGenTextures",1,ADDR(texid%))
OGL("glBindTexture",~GL_TEXTURE_2D,texid%)
OGL("glEnable",~GL_ALPHA_TEST)
OGL("glAlphaFunc",~GL_GREATER, 0.1)
OGL("glTexParameteri",~GL_TEXTURE_2D, ~GL_TEXTURE_MAG_FILTER, ~GL_LINEAR)
OGL("glTexParameteri",~GL_TEXTURE_2D, ~GL_TEXTURE_MIN_FILTER, ~GL_LINEAR)
OGL("gluBuild2DMipmaps",~GL_TEXTURE_2D, ~GL_RGBA, 128, 128, ~GL_RGBA, ~GL_UNSIGNED_BYTE, bildxy#)
dispose bildxy#
RETORNO texid%
ENDPROC
mfg peter |
|
|
| |
|
|
|
Sebastian König | ¡Hola Peter,
prinzipiell debería lo con Profano2Cpp genauso trabajo como con XProfan - Yo gehe also veces su de, dass lo una Fehler en Profano2Cpp es. Yo voluntad me veces ansehen y mich otra vez informe - kann aber desafortunadamente algo dauern (Mittwoch abend oder Donnerstag morgen) como Yo en el Moment gerade bastante ausgelastet bin...
MfG
Sebastian |
|
|
| |
|
|
|
| ¡Hola Sebastian, danke para deine Ayuda.
mfg peter |
|
|
| |
|
|
|
| Im Anhang es ni con el gleichen Fehler. En Profano2cpp erscheint no el Mapa de bits.
Steuern puede ser con el Tasten "QWES"
mfg peter |
|
|
| |
|
|
|
Sebastian König | ¡Hola Peter,
Yo me el Sache gerade veces angesehen. El gute Nachricht es, dass el erste Testcode con el kommenden Profano2Cpp 2.0 ya korrekt funktioniert. Nur en el zweiten (de el ZIP-Archiv) hay todavía una Darstellungsfehler (el Auto en el rechten Ventana es simplemente una schwarze Box...). Yo voluntad mich bemühen, esta Bug en Versión 2.0a a beheben.
Profano2Cpp 2.0 se oficialmente zusammen con XProfan 11 erscheinen (hoffentlich bald). In el nächsten Tagen voluntad Yo schonmal el neue Testversion en el Profano2Cpp-Homepage para Descargar einstellen.
MfG
Sebastian |
|
|
| |
|
|
|
|
In el nächsten Tagen voluntad Yo schonmal el neue Testversion en el Profano2Cpp-Homepage para Descargar einstellen.
Hmm..., son el nächsten Tage ya rum.... ¿Puede difícilmente cabe esperar.
mfg peter |
|
|
| |
|
|
|
Sebastian König | Peter Bierbachh
Hmm..., son el nächsten Tage ya rum.... ¿Puede difícilmente cabe esperar.
Yo voluntad mich bemühen, lo a heute abend (dt. Tiempo) fertigzumachen. |
|
|
| |
|
|
|
Sebastian König | Ok, hecho Auf el Profano2Cpp-Homepage [...] hay nun el Testversion 2.0 para Descargar. |
|
|
| |
|
|
|
| ¡Hola, el ging aber Superschnell. El Grafik funktioniert auch como ellos se.
Un tolle Arbeit todos Profano2cpp 2.0
Wenn Yo ahora con BCC55 compiliere, kann Yo entonces como auch "if-auswertungen " ala C++ gemäß BCC55 reinbringen usw oder hay como irgendwelche besondere einschränkungen, el sólo bestimmter Code genommen voluntad darf?
Ein Fehler? Der Compiler beanstandet el "PVAR", el él el no sabe, si yo I más gehe, stürzt él de. KompilierenMarcaSeparación |
|
|
|
|
Jörg Sellmeyer | Ob el con el Inline CPP va, kann Yo no sagen aber ¿Quieres decir que doch sicher "EndProc" y no "end proc", oder? |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 12.09.2008 ▲ |
|
|
|
|
| oGL("scale", scale_1!, scale_1!,scale_1!)
Dieser Befehl se beanstandet, porque el falsche Anzahl de Parametern transferencia se. En Scale voluntad aber 3 Parámetro transferencia. (war en Vers 1.6c no)
mfg peter |
|
|
| |
|
|
|
| Ein Parámetro para ogl.Scale! (en el Falle bin Yo auch ya getappt) |
|
|
| |
|
|