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

11

17.05.2022, 20:03

Es ist schon wichtig zu wissen welche Version du gewählt hast.

Hast du dein OpenGL Context erstellt wie zum Beispiel in den NeHe Tutorials bekommst du nur die alte Version mit der Fixed Function Pipeline.
Diese Version ist sehr begrenzt in der Lichtberechnung. Es stehen zum Beispiel nur 8 Lichter zur Verfügung. Diese Lichter werden NICHT für jeden Pixel berechnet, sondern nur an den Eckpunkten und über das ganze Dreieck interpoliert.
Deshalb rate ich dir modernes OpenGL, wie in den Tutorials weiter oben, zu benutzen.

Willst du weiterhin das alte OpenGL benutzen ist das auch OK. Ohne deinen Code zu kennen ist es aber Rätselraten. Es gibt einfach viele Dinge die du übersehen haben könntest, da wäre etwas Code schon nützlich.

[Edit]
Du schreibst was von glEnable(GL_NORMALS), in der Doku (https://www.khronos.org/registry/OpenGL-…ml/glEnable.xml) finde ich diesen Parameter aber nicht. Was meinst du damit?

Außerdem habe ich dein Beispielvideo gesehen. Es sieht darin so aus als würde nur die Texturfarbe und keine Lichtquelle verwendet. Wie sieht ein Screenshot mit Lichtquelle aus? Oder ist dann das ganze Bild Schwarz?

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Hannes« (17.05.2022, 22:32)


David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

12

18.05.2022, 23:15

Er meint vermutlich glEnable(GL_AUTO_NORMAL). Das tut aber nicht das, was er denkt, was es tut, denn das hat nur bei gekrümmten Oberflächen (z. B. Bézier) eine Wirkung, nicht bei "normaler" (flacher) Geometrie.
Das Video zeigt in der Tat überhaupt keine Beleuchtung, alles ist gleich hell. Das ist auch nicht verwunderlich, wenn man keine Normalenvektoren angibt.

KahnSoft

Frischling

  • »KahnSoft« ist der Autor dieses Themas

Beiträge: 59

Wohnort: Berlin

  • Private Nachricht senden

13

25.05.2022, 20:15

Es ist schon wichtig zu wissen welche Version du gewählt hast.


Hallo Hannes danke für deine Antwort .

Verison : NVIDIA Corporation 4.6.0 NVIDIA 512.15

Das Fixed Function Pipeline ist ein Konzept um alte GlVersionen auf neuen Versionen laufen zu lassen, da wird viel interpoliert.
Hier ist es der Fall nicht, ich kann auch shader compilieren, doch wozu, wenn die Raw -Darstellung aus dem 3ds File nicht so erscheint wie in
einem Refrenz-player (3dExploration) https://3d-exploration.freedownloadscenter.com/windows/

Danke für die Hinweise.

Jonathan

Community-Fossil

  • Private Nachricht senden

14

30.05.2022, 11:38

Naja, mit dem richtigen Shader würde es halt so aussehen wie in diesem 3dExploration. Oder halt auch besser, das kannst du dir ja aussuchen. Auf jeden Fall musst du nicht länger mit kaputtem Shading leben.
Lieber dumm fragen, als dumm bleiben!

15

31.05.2022, 15:56

Erstellst du eigentlich selber einen OpenGL Context und ziehst die Funktionspointer aus der opengl.dll oder benutzt du eine Bibliothek die den Kram abnimmt?

Wenn du es selber machst, schau dir mal https://www.khronos.org/opengl/wiki/Crea…L_Context_(WGL) an.
Wenn du eine Lib nutzt interessiert mich welche du gewählt hast.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Hannes« (31.05.2022, 20:47)


KahnSoft

Frischling

  • »KahnSoft« ist der Autor dieses Themas

Beiträge: 59

Wohnort: Berlin

  • Private Nachricht senden

16

31.05.2022, 20:27

Danke für deine Antwort, ja korrekt die function pointer werden über die dll zu fuß von mir zugewiesen, da war einst GLS Vorbild. Pixelformat usw. wird ausgewählt und der Default Treiber geladen.

Die Normals und die Facenormals sind mit zweierlei Methoden getestet, außerdem funktioniert über die Facenormale auch meine Kollisionserfassung problemlos.

Um Perfekte Normals zu erzeugen bedarf es auch geometrischer Betrachtung und nicht nur die Nachbarn kreuzen, naja ich forsche da noch weiter warum meine geladenen
Objekte eine scheinbar stumpfe Oberfläche haben, sie sind ohne texturen, die mit texturen machen keine Probleme in der Darstellung , alles wird immer mir colorarray gerendert, über VBO vertexpointer oder manuell in einer loop.

Dein Link führt leider zu keiner Information.

Grüße
K.

17

31.05.2022, 20:56

In den Link hatte sich einen Fehler eingeschlichen. Hab ihn mal verbessert.

KahnSoft

Frischling

  • »KahnSoft« ist der Autor dieses Themas

Beiträge: 59

Wohnort: Berlin

  • Private Nachricht senden

18

01.06.2022, 12:09

Hannes, GLS ,

ok das sieht bei mir so aus das Thema GLS: (Ich hoffe das löst die Mutmaßung auf das ich garkein normales GL anwende )?

Dein Link ist sehr schön, hilft mir aber bei der Normal Darstellung nicht so wirklich...

Anlage enthält meine GLS Auflösung die ich anwende, icl. ARB Extensions uvm. Dies nur der GLS Handler im Anhang.

Danke für deinen Link.
Karsten aus Staaken.
»KahnSoft« hat folgende Dateien angehängt:
  • gls.cpp (110,92 kB - 35 mal heruntergeladen - zuletzt: 09.04.2024, 22:54)
  • gls.h (79,7 kB - 44 mal heruntergeladen - zuletzt: 09.04.2024, 22:54)

KahnSoft

Frischling

  • »KahnSoft« ist der Autor dieses Themas

Beiträge: 59

Wohnort: Berlin

  • Private Nachricht senden

19

01.06.2022, 17:35

Naja, mit dem richtigen Shader würde es halt so aussehen wie in diesem 3dExploration. Oder halt auch besser, das kannst du dir ja aussuchen. Auf jeden Fall musst du nicht länger mit kaputtem Shading leben.


Hallo Jonatan, das 3exploration verwendet ja eben keine Shader die gab es insofern im Jahre 2000 nur bedingt.

das Programm 3DExploration ist eine Grundfeste für jeden der sich mit 3D Objekten befasst, es relativ genial und einfach.

20

02.06.2022, 00:28

Dein GLS lädt dir OpenGL 1.x Funktionen. Ab Version 3.3 wurde die FFP rausgeworfen und glBegin(), glEnd(), glLight() und eine Menge anderer alter Funktionen sind nicht mehr enthalten.
Was ist deine Motivation diese 20 Jahre alte Lib zu benutzen?

Die FFP von OpenGL unterstützt nicht gleichzeitig Vertexfarben und Beleuchtung. Du musst dann statt der Vertexfarbe ein Material angeben. Deshalb kommt es bei dir zu unerwarteten Ergebnissen.

OpenGL mit Beleuchtung wird hier: http://www.3dsource.de/faq/lights.htm
und hier ausführlich beschrieben: http://docplayer.org/17372714-Grafikprog…mit-opengl.html

Wenn es weiterhin nicht klappt kann ich nur aus Beschreibungen und ohne relevanten Code wahrscheinlich nicht helfen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Hannes« (02.06.2022, 00:37)


Werbeanzeige

Ähnliche Themen