Deutsch
Forum

OGL-Bild und nNewPic erscheint erst wenn ich es kurz bewege., warum ?

 

funkheld
Hallo, guten Tag.
Ich nehme ein drehendes Bild aus dem OGL-Fenster und stelle es in einem hNewPic dar. Ich mache es weil es in OGL einfach ist so etwas zu drehen.
Fuktioniert auch soweit wunderbar. Bloß beim ersten starten vom Programm erscheint das OGL-BIld erst im OGL-Fenster wenn ich es mindestens kurz rechts
oder links gedreht habe. Das hNewpic erscheint erst , wenn ich das Hauptfenster mit der Mauss etwas bewegt habe.

Wo habe ich bitte beim Start ein Hindernis drin?

Danke.
Gruss
declare hWin&,hintergrpic&,vordergrpic&
declare ende&,winkel!,groesse&,dib&,array&
declare bild_auto&,auto1&,auto11&,pi180!
declare bmi#,ogl_rgb#
declare x1!,y1!,dx!,dy!
Declare ClassName$
Def &GL_BGR $80E0
DEF CreateDIB(2) !"dib","CreateDIB"
DEF FreeDIB(1) !"dib","FreeDIB"
DEF DrawDIB(4) !"dib","DrawDIB"
DEF CloneDIB(1) !"dib","CloneDIB"
dib&=usedll("dib.dll")
hintergrpic& = create("hNewPic", 400,400,rgb(255,255,0))
vordergrpic& = create("hNewPic", 400,400,rgb(255,255,0))
bild_auto& = create("hNewPic", 128,128,rgb(255,255,0))
Pi180!=0.0174532925199433
ende&=1
array&=CreateDIB(128,128)
groesse&=128*128*4
dim ogl_rgb#,groesse&
startpaint hintergrpic&
UsePen 0,1,Rgb(0,255,0)
usebrush 1,rgb(0,255,0)
ellipse 150,150-250,250
endpaint
Window 20,20-800,600
Cls RGB(220,220,220)
ClassName$ = "Fenster"
External("User32", "GetClassNameA", %HWnd, ClassName$, 64)
hWin& = Control(Trim$(ClassName$), "", $50000000, 10, 10, 128, 128, %HWnd, 0, %HInstance)
oGL("Init",hwin&,0,0,0,0)
oGL("PosMode", 1)
auto1&=oGL("LoadTextureBMP","d:/xprofan/pxpse/data/auto1.bmp",1)
auto11&=oGL("LoadTextureBMP","d:/xprofan/xpse/data/auto11.bmp",1)
OGL("Clear")
OGL("texture",auto1&,1)
drawglscene
zeichne

WHILE ende&

    if isKey(89)

        OGL("texture",auto1&,1)
        drawglscene
        zeichne

    ElseIf Iskey(65)

        OGL("texture",auto11&,1)
        drawglscene
        zeichne

    EndIf

    if isKey(87)

        y1!=Sin(-winkel!*Pi180!)*0.3
        x1!=Cos(-winkel!*Pi180!)*0.3
        dx!=dx!-x1!
        dy!=dy!-y1!
        zeichne

    Elseif isKey(83)

        y1!=Sin(-winkel!*Pi180!)*0.3
        x1!=Cos(-winkel!*Pi180!)*0.3
        dx!=dx!+x1!
        dy!=dy!+y1!
        zeichne

    endif

    if isKey(81)

        winkel!=winkel!+0.5
        drawglscene
        zeichne

    Elseif isKey(69)

        winkel!=winkel!-0.5
        drawglscene
        zeichne

    EndIf

EndWhile

FreeDIB(array&)
end

Proc zeichne

    StartPaint vordergrpic&
    DrawPic hintergrpic&,0,0;0
    drawpic bild_auto&,50+dx!,50+dy!;-1
    EndPaint
    DrawPic vordergrpic&, 300,50;0

EndProc

proc drawglscene

    OGL("quad",0.5,0.5)
    OGL("origin",0,0,-1.2)
    OGL("rotate",0,0,winkel!)
    OGL("show")
    ogl("glReadPixels",0,0,128,128,&GL_BGR, ~GL_UNSIGNED_BYTE,ogl_rgb#)
    setDIBits(%hdc,bild_auto&,0,128,ogl_rgb#,array&,0)

endproc

 
28.04.2016  
 




RGH
Ohne die DIB.DLL kann Dir keiner helfen, da sich das Programm nicht ausführen lässt.

Gruß
Roland
 
XProfan X3
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
28.04.2016  
 




funkheld
Jup, hier ist sie.
Ich dachte , es wäre ein Problem in der Programmierstruktur.

Gruss

3 kB
Hochgeladen:28.04.2016
Ladeanzahl126
Herunterladen
 
28.04.2016  
 




Georg
Teles
Bin kein oGL Nutzer, so auf Schnelle aber wenn ich folgendes mache vor der While Schleife:

2 mal also von jeder Proc, dann wird es gezeichnet, vielleicht ist was in drawglscene was für zeichne Prozedur benütigt wird und umgekehrt ?

PS: das Problem trat hier auch schon einmal auf  [...] 

Servus
 
XProfan X3
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

28.04.2016  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.344 Betrachtungen

Unbenanntvor 0 min.
H.Brill29.10.2023
funkheld06.01.2022
iF31.10.2020
Normann Strübli13.04.2020
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

funkheld (2x)
Georg Teles (1x)
RGH (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie