Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jun 21, 2025 14:35

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 34 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3
Autor Nachricht
BeitragVerfasst: Di Aug 07, 2012 10:49 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 29, 2003 00:11
Beiträge: 436
Occlusion Queries sind langsam, da noch Daten von der Grafikkarte abgefragt werden ("wie viele Fragmente wurden gezeichnet"). Also einen Query absetzen (mit einfachem Material) absetzen und gucken, ob es gezeichnet werden muss, lohnt sich seltenst. Man muss die Zeit ausnutzen zwischen Query absetzen und eintreffen des Ergebnisses. Entweder 1-3 Frames abwarten oder Google mal nach CHC++.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Aug 07, 2012 11:25 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
Dein Programm läuft bei mir nicht. Es meckert über eine fehlende MSVC100D.DLL.
Habe das Microsoft Visual C++ 2010 Redistributable Package sowohl in der 32bit als auch die 64bit Version installiert.
Da es sich (laut google) um die Debug Version der DLL handelt, müsstest du mal das Compiletarget auf Release stellen.

_________________
Es werde Licht.
glEnable(GL_LIGHTING);
Und es ward Licht.


Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"

on error goto next


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Aug 07, 2012 12:29 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ein occlussion query für lichter zu verwenden macht meiner Meinung nach nicht viel Sinn.
Zumindestens nicht für die meisten Lichter und auch nicht auf Hardware.
OQ läuft Frameversetzt, man hat also die Info vom Letzten Bild und das ist Blöd, da es zu Fehlern führt.
Die meisten Lichter haben sehr große einzugsbereiche, welche durch Sphere oder Cone im OQ representativ gerendert werden müssten und in den meisten Fällen dir sagen "Joa da ist noch mindestens 1 Pixel zu sehen".

Battlefield3 nutzt ein Software Renderer, der auf 256xM Auflösung die Tiefeninformationen/ObjektID per CPU rasterisiert.
Das macht erst mit mehrkern systemen Sinn, daher machen die das erst mit der aktuellen Version.
Während Sound, Renderbefehle abgeschickt werden, wird auch die OQ auf CPU gemacht, dann die restlichen Drawcalls abgesetzt.
http://www.graphicshardware.org/presentations/andersson-game_engines_and_GPUs.pptx

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Aug 07, 2012 15:30 
Offline
DGL Member

Registriert: Fr Okt 03, 2008 13:32
Beiträge: 367
Finalspace hat geschrieben:
Also in den Shader PointLight.frag und DirectionalLight.frag habe ich das max nicht mehr drin gehabt. Und das sind auch die Zwei die verwendet werden. Kann sein, dass es in den alten Versionen noch drin war.

Für Specular ist das max wichtig, ansonsten stimmt nämlich die Specular-Formel nicht mehr und es sieht echt merkwürdig aus.

Also eigentlich war das von mir ein Verbesserungsvorschlag, weil das "max" eben nicht im Shader drin war. Ansonsten würde das Licht von einer Lichtquelle negativ werden können (was nicht sein sollte).


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 34 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.020s | 15 Queries | GZIP : On ]