Schatten anzeigen

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Purebasium
Beiträge: 74
Registriert: 05.02.2014 22:08
Computerausstattung: Ein Computer halt.
Mit Windows 7
und mit AMD Phenom(tm) II X4 B50 Prozessor
und einer ATI Radeon HD 5450 Grafikkarte
Wohnort: Mars, Kraterstr. 57b, Apartment 7

Schatten anzeigen

Beitrag von Purebasium »

hi,
in letzter zeit habe ich an einem kleinen code geabreitet, der den schatten zu einem Objekt berechnet (bzw. 4 punkte die zusammen verbunden die Außenlinien des Schattens bilden)

Jetzt habe ich aber ein Problem:
wie kann ich den schatten anzeigen?
Meine erste Idee:

Code: Alles auswählen

  StartDrawing(ScreenOutput())
  LineXY(x1,y1,x2,y2,RGB(255,0,255))

  LineXY(x3,y3,x4,y4,RGB(255,0,255))

  StopDrawing()

Das Problem dabei ist hierbei aber, dass es bei mehr als 2 schatten schon anfängt zu ruckeln.

Versuch 2:

Code: Alles auswählen


  CreateSprite(4,1920,1080)
  StartDrawing(SpriteOutput(4)) 
  Box(0,0,1920,1080,RGB(0,0,0))
  StopDrawing()   
  


TransformSprite(4,x1,y1,1,x2,y2,1,x3,y3,1,x4,y4,1)
hierbei habe ich das Problem, dass es einfach den sprite total seltsam streckt.


Außerdem ist bei den vorherigen Lösungen das Problem, das der Hintergrund nur komplett schwarz ist (im schatten) und es nicht möglich ist, dass der Schatten den Hintergrund nur verdunkelt.


Hat jemand noch eine Idee was ich machen könnte?
"Ordnung braucht nur der Dumme, das Genie beherrscht das Chaos. "
Albert Einstein
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Re: Schatten anzeigen

Beitrag von Chimorin »

Ich verstehe das nicht ganz. Möchtest du selber Schatten "programmieren"?
Es gibt doch die eingebauten 3 Typen, die mehr oder weniger gut funktionieren, aber auf jeden Fall besser als selbst programmierte sind.
Bild

- formerly known as Bananenfreak -
Benutzeravatar
Purebasium
Beiträge: 74
Registriert: 05.02.2014 22:08
Computerausstattung: Ein Computer halt.
Mit Windows 7
und mit AMD Phenom(tm) II X4 B50 Prozessor
und einer ATI Radeon HD 5450 Grafikkarte
Wohnort: Mars, Kraterstr. 57b, Apartment 7

Re: Schatten anzeigen

Beitrag von Purebasium »

Es gibt aber keine in 2d ohne 3d engine...
"Ordnung braucht nur der Dumme, das Genie beherrscht das Chaos. "
Albert Einstein
Benutzeravatar
Purebasium
Beiträge: 74
Registriert: 05.02.2014 22:08
Computerausstattung: Ein Computer halt.
Mit Windows 7
und mit AMD Phenom(tm) II X4 B50 Prozessor
und einer ATI Radeon HD 5450 Grafikkarte
Wohnort: Mars, Kraterstr. 57b, Apartment 7

Re: Schatten anzeigen

Beitrag von Purebasium »

Also einfach nur für normale 2d sprites auf OpenScreen(1920,1080,32,"Schatten").
"Ordnung braucht nur der Dumme, das Genie beherrscht das Chaos. "
Albert Einstein
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Re: Schatten anzeigen

Beitrag von Chimorin »

Hey,
tut mir leid, ich habe gleich an 3D gedacht :D

Du könntest versuchen deine "Objekte" als Schatten zu verwenden. Hierzu einfach nur schwarz als Farbe verwenden und das Ganze je nach Lage der Lichtquelle transformieren (Vektorrechnung). Natürlich wird zuerst der Schatten des Objektes gemalt, dann das Objekt selber.

Für das Abdunkeln musst du mit dem Alphawert rumspielen. Schau einfach mal nach DisplayTransparentSprite(#Sprite, x, y [, Intensität [, Farbe]])
in der Hilfe.
Bild

- formerly known as Bananenfreak -
Antworten