Español
Wünsche y Sugerencias

Wunsch: &OGLBMP rausnehmen y una guten Ersatz einbau

 
Der Befehl &OGLBMP para una OGL-Bild ärgert una bastante schön.
In Profano2Cpp es él no durchführbar.
Und en algunos Systemen con Vista ärgert él auch.

Yo habe en mi Programa una 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 uno el Lage y el grösse de una Opengl-Ventana fischen kann.
Dazu braucht uno aber Daten de el Bitmapheader.

Tal vez könntest du Roland el irgendwie einbauen.

mfg
KompilierenMarcaSeparación
 $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#
    RETORNO texid%

ENDPROC


2 kB
Hochgeladen:28.02.2009
Ladeanzahl105
Descargar
49 kB
Hochgeladen:28.02.2009
Ladeanzahl120
Descargar
 
28.02.2009  
 




Jac
de
Lad
Yo sería más sagen, dass lo Sebastians Sache es, qué él así macht. In Profano funktionierts, si con el Workaround en Prf2CPP va, entonces kann Sebastian lo sí así umsetzen. Den Befehl igual komplett umzustricken halte Yo persönlich para no 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, Yo tener el otro Hilo dazu sólo ahora gelesen (&OGLBMP y Vista). Yo ziehe media vorigen Contribución 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  
 



Yo sería más sagen, dass lo Sebastians Sache es, qué él así macht. In Profano funktionierts, si con el Workaround en Prf2CPP va, entonces kann Sebastian lo sí así umsetzen.

Junge...junge....

Erst denken, entonces escribir.
Posesiones Yo dir glaube ya en el anderem Foro dijo. Su Flinte ha una a leichten Abzug.
 
01.03.2009  
 




Jac
de
Lad
Das ha nichts con Denken a tun, pero así, dass el Sprechblase el hilo en el geschrieben stand, dass lo en Vista grundsätzlich no funktioniert, sólo después de diesem geöffnet wurde y se el así natürlich 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, Yo tener el otro Hilo dazu sólo ahora gelesen (&OGLBMP y Vista). Yo ziehe media vorigen Contribución zurück.


Wo es el Hilo &OGLBMP y Vista? Yo finde ihn no. Gibt lo irgendwo una kleines Beispielprogramm en reinem XPRofan, dass bajo Vista no korrekt se ejecuta?

Yo weiß, dass lo bajo XProfan 10 algunos Grafiktreiber (o. OpenGL-Treiber) gab, en denen Crear(hPic,...) con el Bildnamen &OGLBMP no korrekt funktionierte. Betroffen waren algunos Rechner con OnBoard-Grafiklösungen. Daraufhin Yo XProfan adaptado, en el problema a umgehen. Si el Problema bajo Vista erneut auftauchen, debería Yo schauen, si Yo como qué tun kann.

Saludo
Roland

BTW: &OGLBMP es kein Befehl (no una vez una Systemvariable), pero una Konstante para el Características Crear(hPic,...) y Crear(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: Yo bezog mich hierauf  [...]  . Bin me pero no sicher, como y si el ahora genau 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 waren algunos Rechner con OnBoard-Grafiklösungen. Daraufhin Yo XProfan adaptado, en el problema a umgehen.

Yo habe Grafik OnBoard. AMILO FUJITSU.

Tritt auch en XP en.

Also de me de braucht no geändert voluntad, Yo mi Solución gefunden, el Yo ahora en me en cada Programa como Ersatz einbaut habe para &OGLBMP.

Zumal Yo ahora el Bildschirmausschnitt vom Openglscreen festlegen kann , welchen Yo como BMP haben möchte.

Windooof es manchmal hartnäckig

mfg
 
02.03.2009  
 



&OGLBMP

Auch con Deleteobject müllt el Speicher voll, si yo dauernd una OGL-Screen 128x128 Pixel einlade beim steuern meines Objektes.

mfg
 
07.03.2009  
 



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

4.797 Views

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

Themeninformationen

Dieses Thema ha 3 subscriber:

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


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