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

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

41

30.03.2011, 18:38

Naja zumindest stehts so im Buch. Kann ich das/den (?) Wireframe rendern "lassen" oder was muss ich dafür tun? Kann ja sein das OpenGL da was mitliefert :)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

43

31.03.2011, 19:04


(Link)


Das sind die Normalen gerendert, ohne glPolygonMode.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

44

31.03.2011, 19:13

Ich seh da jetzt nicht direkt wo die Normalen sind!?

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

45

01.04.2011, 14:15


(Link)


Ich hab die Vertices durch die Normalen im VBO ersetzt. Ist das so richtig?

PS: Wo finde ich wohl ein gutes Shadow Mapping Tutorial?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

46

01.04.2011, 15:51

Ich hab die Vertices durch die Normalen im VBO ersetzt. Ist das so richtig?

Ich versteh nicht ganz. Die Idee wär eigentlich gewesen zusätzlich noch die Normalen als kleine Linien die vom jeweiligen Vertex aus staren und eben in die entsprechende Richtung gehen zu zeichnen und das Modell als Wireframe oder noch besser den Wireframe über das Modell zu rendern...

PS: Wo finde ich wohl ein gutes Shadow Mapping Tutorial?

http://www.google.at/search?sourceid=chr…apping+tutorial ;)

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

47

01.04.2011, 20:46

Ich bekomms irgendwie nicht hin die Normalen auf die Vertices zu rendern...

Ich hab mir einen neuen Buffer erstellt und den dann mit den Vertex+Normal Daten gefühlt (also addiert).

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

48

01.04.2011, 21:19


(Link)


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void md2Model::generateVPN(){
    vector<Vertex> vec;
    vec.resize(m_interpolatedFrame.vertices.size()*2);

    for(unsigned int i = 0; i < vec.size()/2; i++){
        vec[i].x = m_interpolatedFrame.vertices[i].x+m_normals[i].x;
        vec[i].y = m_interpolatedFrame.vertices[i].y+m_normals[i].y;
        vec[i].z = m_interpolatedFrame.vertices[i].z+m_normals[i].z;

        vec[i+vec.size()/2].x = m_interpolatedFrame.vertices[i].x;
        vec[i+vec.size()/2].y = m_interpolatedFrame.vertices[i].y;
        vec[i+vec.size()/2].z = m_interpolatedFrame.vertices[i].z;
    }

    m_interpolatedFrame.vertices.resize(vec.size());
    m_interpolatedFrame.vertices = vec;

    glBindBuffer(GL_ARRAY_BUFFER, m_vertexBuffer);
    glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*3*m_interpolatedFrame.vertices.size(), &m_interpolatedFrame.vertices[0]);
};

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

49

01.04.2011, 21:51

Hm, warum packst du den einen Vertex in die erste und den andren in die zweite Hälfte des Buffers?
So in der Art sollts eigentlich gehn:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
  for(unsigned int i = 0; i < vec.size()/2; i++)
  {
      vec[i].x = m_interpolatedFrame.vertices[i].x;
      vec[i].y = m_interpolatedFrame.vertices[i].y;
      vec[i].z = m_interpolatedFrame.vertices[i].z;

      vec[i+1].x = m_interpolatedFrame.vertices[i].x+m_normals[i].x;
      vec[i+1].y = m_interpolatedFrame.vertices[i].y+m_normals[i].y;
      vec[i+1].z = m_interpolatedFrame.vertices[i].z+m_normals[i].z;
  }

Und rendern mit

C-/C++-Quelltext

1
glDrawArrays(GL_LINES, 0, vec.size());

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

50

01.04.2011, 23:29

Wie soll das funktionieren? Der überschreibt doch dann jedes Vertice ^^. Das Bild bleibt auch so...

Ich frag mich gerade nur woher OpenGL weiß welche Punkte es verbinden soll? Ich hab keine Indices soweit ich weiß... Zumindest nicht für die Normalen+Vertices:

C-/C++-Quelltext

1
2
3
4
5
6
struct Triangle{
            short vertexIndex[3];
            short texCoordIndex[3];
        };

vector<Triangle> m_triangles; // aus MD2 Datei


Muss ich wohl dafür hinzufügen.

Werbeanzeige