Transparenzfrage

Previous topic - Next topic

WPShadow

Hallo,

ich frage mal ganz banal:

Ist es möglich einen z.B. Polyvektor zu machen, deren obere Hälfte Transparent ist und dessen untere Hälfte nicht? Also einen Alpha - Wert der von unten nach oben steigt/fällt?

Ist sowas technisch überhaupt realisierbar?

LG

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

backslider

Hi,

Also technisch möglich ist es mit Sicherheit, siehe z.B. Photoshop Farbverlauf von Farbe nach Transparenz^^
Warscheinlich meinst du aber die "Technik" von GLBasic oder?

Ich probier das mal eben aus, obs geht *g*.
Danach editiere ich den Post hier.

Gruß

WPShadow

AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

backslider

Probier mal hiermit n bisschen rum!
Ist noch ein kleiner Bug drin, aber der sollte zu beheben sein. Wie es sich allerdings bei mehreren Objekten dieser Art auf die performance auswirkt, musst du ausprobieren :)
Kannst ja nochmal Meldung geben  :good:

Code (glbasic) Select

WHILE TRUE

drawIt(100,100,100,1, RGB(255,255,255))


SHOWSCREEN
WEND

FUNCTION drawIt: x, y, width, steps, col
FOR i=0 TO 100 STEP steps
ALPHAMODE i/100
DRAWRECT x,i+y,width,steps,col
NEXT
ENDFUNCTION

WPShadow

Auf die Idee bin ich ja auch schon gekommen, aber bei 10 oder 15 Grafiken am Bildschirm wird das von der Performance her schon ziemlich eng!

Ich dachte da so an Interface und ähnliches...  :P

Mein Gedanke war, ob es sowas in der Art gibt wie:

Alphamode 0
Polyvector
Alphamode 0.5
Polyvector
usw.

Das wäre vor allem für Grahiken und Hintergründe eine total spannende Lösung...  8)
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

monono

Das klappt eigendlich so wie du sagst, nur ist opengl-Transparenz immer etwas verwirrend.
z.B.
Code (glbasic) Select

ALPHAMODE 1
STARTPOLY -1
  POLYVECTOR  0,   0,  0,  0, RGB(  255, 255,   0)
  ALPHAMODE -1
  POLYVECTOR   0, 300,  0, 64,RGB(  255, 255,   0)
  POLYVECTOR 400, 400, 64, 64, RGB(  255, 255,   0)
   POLYVECTOR 350,  50, 64,  0, RGB(  255, 255,   0)
ENDPOLY

STARTPOLY -1
  POLYVECTOR  0,   0,  0,  0, RGB(  0, 255,   0)
  ALPHAMODE -0.0001
  POLYVECTOR   0, 300,  0, 64, RGB(  0, 255,   0)
  POLYVECTOR 300, 300, 64, 64, RGB(  0, 255,   0)
  POLYVECTOR 250,  50, 64,  0, RGB(  0, 255,   0)
ENDPOLY

  SHOWSCREEN
  MOUSEWAIT

...zeichnet ein grünes Viereck mit Alphaecken auf das große Gelbe. Seltsamerweise darf der Alphawert nicht 0 sein. Das ist dann wohl schon ein anderer Blendtype. Probiere mal mit verschiedenen Alphawerten aus, du wirst deine Lösung bestimmt finden.

WPShadow

Ach, ok, es funktioniert also genauso! Ich war mir nicht sicher, wollte deshalb mal nachfragen. Konnte es in der Arbeit auch nicht testen!

Danke für den Test, finde es echt genial!!! Mache mich sofort ans experimentieren!!!!  :booze:
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Schranz0r

Alphatransperenz in PNG  = FTW!
Spart Code + Nerven ;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

WPShadow

Das stimmt wohl, leider bin ich halt ein sehr schlechter Graphiker und kenne mich nun mal mit keinem einzigen Graphikprogramm aus!  :giveup:

Somit bleibt mir wohl oder übel nicht viel, oder?
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

backslider

#9
Oder du fragst nette Leute (wie z.B. mich  :good:) ob sie dir mal irgendwas malen :) bzw. zeigen, wie man ganz leicht und gratis solche Grafiken macht. (mit Programmen wie z.B. Blender / Gimp etc.)

Dafür sind wir doch ein Forum  ;)

#EDIT: Ich habe einfach mal ein kurzes knackiges Tutorial dazu verfasst ;)
http://www.glbasic.com/forum/index.php?topic=4938.0

Viel Spaß!

WPShadow

Das Tutorial finde ich genial einfach!

Könntest du vielleicht, wenn es nicht allzuviel Aufwand ist, noch ein paar Tipps und Tricks für z.B. Gimp zusammen schreiben?

Ich für meinen Teil habe ein bißchen mit Paint.NET herum gespielt und bin keinen Schritt weiter gekommen. Bis heute habe ich nicht raus bekommen, was es mit Ebenen auf sich hat!  :whistle:
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

backslider

Schön, dass es dir gefällt!

klar kann ich noch ein paar Sachen zusammentragen, einfacher ist es aber, wenn du spezielle Fragen hast :)
Weil machen kann man sogut wie alles (man, nicht ich :D) damit^^

Ebenen haben mehrere Funktionen.
z.B. kannst du, wenn dir eine Ebene nicht gefällt, sie einfach löschen ohne mit dem Radiergummi rumzufuchteln
du kannst Ebenen einfach wegschalten um zu sehen, wie das Bild ohne diese aussieht.
du Kannst Ebenen verschiedene Überlagerungseinstellungen verpassen (Addition, Multiplikation etc.)
du kannst eine Ebene als Skizze benutzen und auf einer neuen die fertige Zeichnung machen und auf einer
wiederum neuen dann die rötlichen Farben etc.
Und noch vieeeeeeeel mehr :)

Also wie gesagt... entweder du hast noch spezielle Fragen oder ich überlege mir mal was (wie z.B. das Arbeiten mit Ebenen)

Kitty Hello

wenn man _vor_ polyvector alphamode macht, dann kann man mit alphamode vor polyvector arbeiten. Ein Wert von alphamode -1 ist dann opaque.