surfaces und blend modes und surfaces...

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • surfaces und blend modes und surfaces...

    Hallo,
    ich habe ein kleines Problem bezüglich Surfaces und Blend Modes.
    In einem Blend Mode wird eine Surface plötzlich nicht mehr gezeichnet.

    Ich habe eine Surface, auf der 2 andere Surfaces gezeichnet werden.
    Die erste wird ohne, die zweite mit Blend Mode bm_subtract gezeichnet.
    Code:

    GML-Quellcode

    1. surface_set_target(inst.s_real)
    2. draw_clear(c_black)
    3. draw_surface(inst.s,0,0)
    4. draw_set_blend_mode(bm_subtract)
    5. draw_surface(inst.s_light,0,0)
    6. draw_set_blend_mode(bm_normal)
    7. surface_reset_target()
    Alles anzeigen


    Problem: Wenn ich nun diese Surface zeichnen lasse, sehe ich.. nichts.
    Wenn ich die beiden Surfaces mit dem exakt gleichen Code direkt im Draw Event zeichnen lasse, funktioniert alles prima.
    Oder wenn ich bm_subtract gegen bm_add eintausche, dann funktionierts auch, nur halt falsch herum...

    Irgendwelche Tips?

    Vermutlich liegt die Lösung direkt vor meiner Nase, und ich seh sie nicht..

    Mfg
    "das war meine letzte flamewar PM an dich ."
  • habs hochgeladen:

    bumpmap als name trifft eigentlich nicht wirklich zu, aber mir fiel kein passender name ein und bumpmap klingt einfach gut =)

    file-upload.net/download-1118940/bumpmap.gmk.html
    "das war meine letzte flamewar PM an dich ."
  • You should never change the drawing target while you are actually drawing on the screen, that is, never use it in drawing events. This will cause serious problems with the projection and viewport.

    Einmal das und zum anderen ist dein Code recht verwirrend... da steckt noch irgendwo der Wurm drin. Ich hab grad mal meine alte Lichtengine rausgekramt, die macht es ähnlich wie du - nur nutzt die bm_max (beim Addieren von Lichtquellen - ist zwar unrealistisch, aber das, was man meistens will).
  • You should never change the drawing target while you are actually drawing on the screen, that is, never use it in drawing events. This will cause serious problems with the projection and viewport.
    Ups.. zumindest hab ich den Satz schonmal gelesen.. :S

    In so nem Fall schreib ich das ganze am besten nochmal neu, das war bisher immer das Effektivste, da die erste Version von egal was bei mir sowieso meistens total russisch aufgebaut ist.. Wenn ich davor ein Konzept erstelle, bin ich dann zu faul, dieses in die Tat umzusetzen.. :P
    "das war meine letzte flamewar PM an dich ."
  • Benutzer online 2

    2 Besucher