Español
C ++ Foro

irgendein Speicherfehler para el Bild?

 
- Página 1 -


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

590 kB
Hochgeladen:08.09.2008
Ladeanzahl81
Descargar
 
08.09.2008  
 



 
- Página 1 -



Sebastian
König
Ok, hecho Auf el Profano2Cpp-Homepage  [...]  hay nun el Testversion 2.0 para Descargar.
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
12.09.2008  
 



¡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
declare x%,y%
x%=1
y%=100
cls
test(x%,y%)
WaitInput
end

proc test

    parameters c%,d%
    <INLINE_CPP>
    DWORD a = PVAR(c%);
    DWORD b = PVAR(d%);
    </INLINE_CPP>

12.09.2008  
 




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
 
12.09.2008  
 



Ein Parámetro para ogl.Scale! (en el Falle bin Yo auch ya getappt)
 
12.09.2008  
 



 
- Página 2 -


"end proc"

Natürlich zusammen. Wurde hier falso reinkopiert.
Ist en mi beanstandeten Programa correcto.

mfg
 
12.09.2008  
 



procedure glScaled(x, y, z: TGLdouble);

Auszug de Opengl-Delphi .

mfg
peter
 
12.09.2008  
 



Falsche Hilfedatei, ogl("scale",x!) es XProfan - no Delphi. Hier se zudem el API genutzt, dass kannst Usted con XProfan bastante simplemente: ogl("glScaled",...
 
12.09.2008  
 



Also entonces debería el veces en Xprofan10 /11 el Täglichen original Befehl adaptado voluntad.

mfg
peter
 
12.09.2008  
 



Lo son no Abweichungen, lo son 2 diferente Características y Idiomas. Den Sinn detrás de él, ogl.scale en 1 Parámetro a beschränken, Yo aber damals ya No se ha encontrado. Roland podría auch 3 Parámetro ermöglichen.
 
12.09.2008  
 




Sebastian
König
¡Hola Peter,

el Anweisung para el Inline-C++ debería una Kommentar ser:
KompilierenMarcaSeparación
...
P2CPP: <INLINE_CPP>
DWORD a = PVAR(c%);
DWORD b = PVAR(d%);
P2CPP: </INLINE_CPP
/pre>

Von Profano2Cpp de hay para el código eigentlich no direkte Einschränkung - Usted puede simplemente veces ausprobieren, qué funktioniert y qué no.

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
13.09.2008  
 



Ah...y yo pensamiento el dieses "<INLINE_CPP>" una Befehl war.

danke.

mfg
peter
 
13.09.2008  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

5.646 Views

Untitledvor 0 min.
funkheld17.12.2013

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie