1. Artikel
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forum
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Paules-PC-Forum.de
  2. Forum
  3. Programmierung
  4. XProfan

Erst wenn ich das Window bewege erscheint die Grafik usw.

  • funkheld
  • 3. April 2016 um 22:35
  • funkheld
    Fortgeschrittener
    Reaktionen
    3
    Beiträge
    364
    • 3. April 2016 um 22:35
    • #1

    Hallo, guten Tag.

    Das Ogl-Fenster erscheint erst wenn ich die Grafik darin kurz drehe und das andere Grafikfenster erscheint erst wenn ich mit der Maus
    das Window kurz verschiebe.

    Woran liegt das bitte.

    Danke.
    Gruss

    Code
    $MAKE CLE
    $H Windows.ph
    
    
    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&
    Window 20,20-800,600
    Cls RGB(220,220,220)
    
    
    startpaint hintergrpic&
    UsePen 0,1,Rgb(0,255,0)
    usebrush 1,rgb(0,255,0)
    ellipse 150,150-250,250
    endpaint
    
    
    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/pebi-xpia/data/auto1.bmp",1)
    auto11&=oGL("LoadTextureBMP","d:/xprofan/pebi-xpia/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
    Alles anzeigen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Windows 11

  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™