Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

26.01.2010, 20:08

Effekte, Partikel etc. [gelöst]

Hallo,

Jaja, ich mal wieder, diesmal ist meine Frage eig. nur wie bzw.
wo es vielleicht ein gutes Tutorial (möglichst deutsch oder leichtes english)
wo erklärt wird wie man Effekte erstellt, natürlich soll man die
Effekte mit SFML laden können, soweit ich weiß können nur
die Effekte die mit GLSL gemacht, (was zu Open GL gehört(?)) benutzt
werden.

Da ich mich weder mit Open GL noch mit GLSL auskenne
ist das ein Problem. Wie muss ich anfangen, mir geht es eig.
nur um einen simplen Partikel Effekt oder diesen verschwommen
Effekt wenn sich der Sprite bewegt, wie im Buch von David
bei Breakout. Wenn ich jetzt den Abschnitt über Effekte im Buch
von David Lese, ist es dann prinzipiel (auch von der Praxis) das gleiche
wie GLSL oder hat das nicht wirklich was damit zutun?

Hab natürlich rum probiert, aber irgendwie werden bei mir nicht immer
die Effekte angezeigt. :? Z.B wollte ich eine Schockwelle
machen, hab auch fertige Effekte genommen
und um ehrlich zu sein gingen (nicht alle) die auch nicht.

Wäre froh wenn man mir gute Tutorials geben könnte,
oder mir erstmal sagen könnte was ich alles brauche
um ein Effekt zu schreiben.

Lg Genro

2

26.01.2010, 20:13

Hat jetzt zwar nichts mit GLSL zu tun, aber dafür geht's um OpenGL und SFML: http://spark.developpez.com/

Alyx

Treue Seele

Beiträge: 236

Wohnort: Hannover

Beruf: Head Of Software Development

  • Private Nachricht senden

3

27.01.2010, 00:32

NeHe ist eigentlich sehr zu empfehlen.

4

27.01.2010, 17:57

Was verstehst du denn unter Effekten? Da gibts ja haufenweise verschiedene.
SFML bietet da aber von Haus aus schon eine gute Hilfe an. Schaut dir dochmal dieses Tutorial an. Für Motion Blur oder ähnliches dürfte das wohl die erste Wahl sein.

Wenn du Partikel machen möchtest(Staub, Schüsse, Wetter, Rauch, Feuer, etc...), solltest du dir das oben verlinkte SPARK anschauen, das mit SFML auch recht schön umzusetzten ist.

Sag einfach mal, was dir vorschwebt, dann kann man schauen, wie dus umgesetzt bekommst :-)

So Far...

Laguna

5

28.01.2010, 13:54

Die beschreibung von SFML hab ich mir natürlich angeschaut, nur
was das mit farben ändern was garnicht in meine Richtung geht
und die Tutorials die dort verlinkt wurden waren halt
ein bissian hartes english für mich.

Ich will halt ein effekt wie motion blur hinbekommen. So das
die Bewegung gut aussehen, da ich nicht mit animationen arbeite.
(in diesem projekt jedenfalls)

Und das mit den Partikeln sieht gut aus, könnte ich für eine Explosion
gebrauchen, das werde ich mir später genauer anschauen wenn ich
daheim bin.

Aber der motion blur effekt wär mir jetzt erstmal wichtig. :D

6

28.01.2010, 17:35

Hab jetzt wieder rumexperementiert, habs hinbekommen
eine disko kugel zu machen, war witzig, und sah cool aus. :D

Aber, ich würde trotzdem noch wissen wie ich den motion
blur effekt hinbekomme, ich wäre
dankbar wenn man mir vielleicht ein Beispiel geben könnte.
Bzw. sagen kann was ich mir anschauen muss um solch ein Effekt
zu machen, Open GL hauptsächlich?

7

28.01.2010, 18:02

Für Motion blur wirst du vermutlich die GLSL nutzen wollen.
Google fragen. Kann mir nicht vorstellen, dass es dazu nichts auf Deutsch gibt. Langfristig wirst du aber nicht um Englisch herumkommen. Faktum.

Bei SFML sind zu den Tutorials auch Beispieldateien dabei unter SFML/samples/bin wirst du fündig.
Da gibts auch nen Blur-Effekt. Zwar nicht exakt das, was du suchst, aber ein guter Anfang. Den kannst du dir ja mal anschauen.

So Far...

Laguna

8

28.01.2010, 18:13

Zitat von »"Laguna"«


Bei SFML sind zu den Tutorials auch Beispieldateien dabei unter SFML/samples/bin wirst du fündig.
Da gibts auch nen Blur-Effekt. Zwar nicht exakt das, was du suchst, aber ein guter Anfang. Den kannst du dir ja mal anschauen.


Ok, ich werde gleich ma googln, aber das was du
jetzt gerade gesagt hast interessiert mich verdammt, wo
finde ich die!? Kannst du mir bitte den Link dazu geben,
ich finde die überhaupt nicht. Wäre dir sehr dankbar.

Beliah

Treue Seele

Beiträge: 115

Wohnort: Söhlde - LK Hildesheim

Beruf: FI-Anwendungsentwicklung

  • Private Nachricht senden

9

29.01.2010, 10:02

Wenn du das "SFML full SDK" runtergeladen hast sind darin diese samples enthalten.
Debuggers don't remove bugs, they only show them in slow motion.

Google Suche ohne Werbung und Cookies: Scroogle

Derzeitige(s) Freizeitprojekt(e)

10

29.01.2010, 18:04

Mann... bin ich ein schwachkopf, ich hab davor überhaupt nicht
in die ordner reingeschauen... *schäm* :oops:

Ok, jezt haben sich viele fragen durch die exampels
beantwort, 1 millionen Dank schonma! :D

So hab jetzt den Effekt vom Beispielprogramm genommen dann
denn Code in meinem Programm eingefügt und es funktioniert
indirekt, der effekt wird angezeigt, was mich erstma freut, aber
leider noch nicht so wie ich ihn will.

Undzwar wenn ich den char bewege, kommt der effekt,
das ist ok, nur dann ist es halt so, dass sich nur die Farbe des
Sprites irgendwie tranparentiert. Er wird also bissel grau.

Und wenn ich dann zum stand punk wo er ganz am anfang stand
hingehe kommt so eine art verschomm effekt nur das der effekt von
links bis recht
bis zum ende des bildschirms unten geht also eine
Art strahl.

Bissel Code:

C-/C++-Quelltext

1
2
3
    float X = Sprites[0].GetPosition().x;
        float Y = Sprites[0].GetPosition().y;
        Effect.SetParameter("offset", X * Y * 0.1f);    


Effekt:


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
texture framebuffer
float offset

effect
{
    vec2 offx = vec2(offset, 0.0);
    vec2 offy = vec2(0.0, offset);

    vec4 c0 = framebuffer(_in);
    vec4 c1 = framebuffer(_in - offy);
    vec4 c2 = framebuffer(_in + offy);
    vec4 c3 = framebuffer(_in - offx);
    vec4 c4 = framebuffer(_in + offx);

    _out = c0 * 0.2 + c1 * 0.2 + c2 * 0.2 + c3 * 0.2 + c4 * 0.2;
}


Und ganz ehrlich, ich würde ja gerne versuchen da was
zu machen, aber das ist irgendwie bahnhof für mich.

Edit: Habs gelöst, vielen dank an euch alle! :D

Werbeanzeige