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

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

21

07.06.2012, 19:43

Der zweite Aufruf muss mit 0 im Alphaparameter aufgerufen werden:
Auf Dauer würde ich dir empfehlen, dich auch mit VertexBuffern außernanderzusetzen.

Bei deiner Umrechnerei krieg ich übrigens auch die Krise.
Radians ist auch keine Magie - Weshalb immer umrechnen.
360 Tortenstücke sind mehr als nötig.

C#-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  glBegin(GL_TRIANGLE_FAN);
    
    sf::Vector2f myPos;
    myPos.x = Spieler1->NewPosition.x + light.getGlobalBounds().width / 2;
    myPos.y = Spieler1->NewPosition.y + light.getGlobalBounds().height / 2;

    glColor4f(0.f, 0.f, 0.f, 1.f);
    glVertex2f(myPos.x, myPos.y);
    
    glColor4f(0.f, 0.f, 0.f, 0.f);
    const int PolyCount = 30;
    for(int i = 0; i < PolyCount;i++) {
        float angle = ((float)i) * (2.f * M_PI) / ((float)PolyCount);
        glVertex2f(myPos.x + std::cos(angle) * 50, myPos.y + std::sin(angle) * 50);
    }

    glEnd();

Sc4v

Alter Hase

Beiträge: 376

Beruf: Student

  • Private Nachricht senden

22

07.06.2012, 19:44

Wenn du immer einen Alphawert von 1.0 hast, dann blendest du im Endeffekt gar nicht. Dann nimmst du 1.0*Farbe des Kreises + 1.0-1.0*Farbe des Hintergrundes.

//Edit
Beispielsweise eine Alphawert von 0.7:
Dann ergibt sich die Farbe aus: 0.7*Farbe des Kreises + 1.0-0.7*Farbe des Hintergrundes

23

07.06.2012, 19:49

Vielen vielen Dank :D. Es funktioniert. Ich habe aber beim ersten als Alphawert 1 dann 0 genommen. Aber es gibt paar Probleme mit dem Rechnen der Koordinaten, weil die OpenGL Koordinaten anders sind.... Ich will es aber noch dunkler machen, wie soll ich das jetzt hinkriegen?

Edit: @Sc4v: Bei mir geht es.

Sc4v

Alter Hase

Beiträge: 376

Beruf: Student

  • Private Nachricht senden

24

07.06.2012, 20:15

Du willst das Licht dunkler? Dann setz den Alphawert des Mittelpunkts geringer.

25

07.06.2012, 20:20

Danke es funktioniert. Danke an alle :)

26

07.06.2012, 20:23

Weiß jemand, wie ich das mit den Koordinaten hin bekomme?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

27

07.06.2012, 21:50

Was genau ist denn das Problem mit "den Koordinaten"?

28

07.06.2012, 21:52

Bei SFML beginnt das Koordinatensystem links oben. Bei OpenGL links unten. Ich weiß nicht, wie ich es umrechnen soll.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

29

07.06.2012, 21:59

Woran genau scheitert's?

30

07.06.2012, 22:02

Bei der Umrechnung, ich weiß nicht, wie ich es umrechnen soll.

Edit: Ist es Position - Bildschirmhöhe?

Werbeanzeige