Français
Wünsche et Anregungen

Wunsch: &OGLBMP rausnehmen et une guten Ersatz einbau

 
qui Befehl &OGLBMP pour une OGL-Bild ärgert une entier joli.
dans Profan2Cpp ist il pas durchführbar.
et sur einigen Systemen avec Vue ärgert il aussi.

j'ai dans mon Programme une gute variante:
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)
endproc

Womit on qui situation et qui grösse aus einem Opengl-la fenêtre fischen peux.
en supplément braucht on mais données aus dem Bitmapheader.

peut-être könntest du Roland den irgendwie einbauen.

mfg
KompilierenMarqueSéparation
 $H Windows.ph
DEF rgb_umwandlung(2) ! bmptex.dll,bmptex
declare x1!,y1!,dx!,dy!,winkel!,y&,z%,groesse%
declare hWin&
declare width%,height%,texid%,ende%
declare bild_auto_h&,bild_umw_h&
declare bmi#,bildxy# ,ogl_rgb#
groesse%=128*128*4
dim bildxy#,groesse%
dim ogl_rgb#,groesse%
ende%=1
Window 20,20-400,200
Cls @RGB(220,220,220)
hWin& = @Create(text, %hWnd, Test1, 10, 10, 128,128)
oGL(Init, hwin&, 0,0, 0, 0)
oGL(PosMode, 1)
bild_auto_h& = Create(hnewPic,128,128,0 )
var tex.auto%=erzeugetex(auto.bmp)
drawglscene
drawglscene
oglzubmp

WHILE ende%

    sleep 1

    if isKey(81)

        winkel!=winkel!+1.0
        drawglscene
        oglzubmp()

    endif

    if isKey(69)

        winkel!=winkel!-1.0
        drawglscene
        oglzubmp()

    endif

    startpaint %hWnd
    drawpic bild_auto_h&,200,10,-1
    endpaint

ENDWHILE

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)

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&       = width%
        .biHeight&      = height%
        .biPlanes%      = 1
        .biBitCount%    = 32
        .biCompression& = &BI_RGB
        .biSizeImage&   = ((.biWidth& * .biBitCount%  8 - 1) | 3 + 1) * abs(.biHeight&)

    endwith

endproc

proc erzeugetex

    parameters namebild$
    texid%=0
    height%=128
    width%=128
    dispose bmi#
    bitmap_header()
    bild_umw_h& = Create(hPic, -1, namebild$)
    ~GetDIBits(%hdc,bild_umw_h&,0,bmi#.biHeight&,bildxy#,bmi#,0)
    rgb_umwandlung(bildxy#,groesse%)
    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, height%, width%, ~GL_RGBA, ~GL_UNSIGNED_BYTE, bildxy#)
    dispose bildxy#
    RETOUR texid%

endproc


2 kB
Hochgeladen:28.02.2009
Downloadcounter106
Download
49 kB
Hochgeladen:28.02.2009
Downloadcounter122
Download
 
28.02.2009  
 




Jac
de
Lad
je serait plutôt dire, dass es Sebastians l'affaire ist, quoi il avec cela pouvoir. dans Profan funktionierts, si es avec dem Workaround dans Prf2CPP allez, ensuite peux Sebastian es oui so umsetzen. Den Befehl juste komplett umzustricken halte je personnelle pour pas sinnvoll.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
01.03.2009  
 




Jac
de
Lad
Ok, je hab den anderen Fil en supplément seulement maintenant gelesen (&OGLBMP et Vue). je ziehe meinen vorigen Beitrag zurück.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
01.03.2009  
 



je serait plutôt dire, dass es Sebastians l'affaire ist, quoi il avec cela pouvoir. dans Profan funktionierts, si es avec dem Workaround dans Prf2CPP allez, ensuite peux Sebastian es oui so umsetzen.

le garçon...le garçon....

seulement penser, ensuite écrivons.
Habe je dir glaube déjà im anderem Forum dit. Votre Flinte hat einem trop leichten Abzug.
 
01.03.2009  
 




Jac
de
Lad
cela hat rien avec penser trop 1faire, mais avec cela, dass qui Sprechblase den Fil dans dem geschrieben stand, dass es chez Vue grundsätzlich pas funktioniert, seulement pour diesem ouvert wurde et sich cela so naturellement anders darstellt.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
02.03.2009  
 




RGH
Jac
Ok, je hab den anderen Fil en supplément seulement maintenant gelesen (&OGLBMP et Vue). je ziehe meinen vorigen Beitrag zurück.


wohin ist qui Fil &OGLBMP et Vue? je trouve ihn pas. Gibt es irgendwo un kleines Beispielprogramm dans reinem XPRofan, dass sous Vue pas korrekt fonctionne?

je sais, dass es sous XProfan 10 quelques Grafiktreiber (bzw. OpenGL-Treiber) donnais, chez denen Créer(hPic,...) avec dem Bildnamen &OGLBMP pas korrekt funktionierte. Betroffen étions quelques calculateur avec OnBoard-Grafiklösungen. Daraufhin habe je XProfan angepasst, um cela Problem trop tourner autour de. Sollte cela Problem sous Vue erneut auftauchen, devrait je regarder, si je là quoi 1faire peux.

Salut
Roland

BTW: &OGLBMP ist ne...aucune Befehl (pas einmal une Systemvariable), mais une Konstante pour qui Funktionen Créer(hPic,...) et Créer(hSizedPic,...)
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
02.03.2009  
 




Jac
de
Lad
@Roland: je bezog mich hierauf  [...]  . suis mir mais pas sûrement, comment et si cela maintenant oui c'est ca funktioniert.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
02.03.2009  
 



Betroffen étions quelques calculateur avec OnBoard-Grafiklösungen. Daraufhin habe je XProfan angepasst, um cela Problem trop tourner autour de.

j'ai Grafik OnBoard. AMILO FUJITSU.

Tritt aussi chez XP sur.

alors de mir aus braucht es pas geändert volonté, j'ai mon Solution trouvé, qui je maintenant chez mir dans chaque Programme comme Ersatz einbaut habe pour &OGLBMP.

Zumal je maintenant aussi den Bildschirmausschnitt vom Openglscreen festlegen peux , welchen je comme BMP avons voudrais.

Windooof ist quelquefois têtu

mfg
 
02.03.2009  
 



&OGLBMP

aussi avec Deleteobject müllt qui grenier voll, si je durable un OGL-Screen 128x128 Pixel einlade beim steuern meines Objektes.

mfg
 
07.03.2009  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

4.875 Views

Untitledvor 0 min.
funkheld16.01.2022
Georg Teles03.02.2018
RICOSCH28.11.2013
Donnie07.04.2013

Themeninformationen

cet Thema hat 3 participant:

unbekannt (4x)
Jac de Lad (4x)
RGH (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie