JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=746422b7a73b73fd01b008e584fa1c71Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Wellengenerator
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Projekte
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
xardias
JLI Master


Alter: 37
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 02.04.2006, 21:06    Titel: Antworten mit Zitat

DirectXer hat Folgendes geschrieben:
Christian Rousselle hat Folgendes geschrieben:
Lookuptable bringen heutzutage wenig, sind kompliziert, ungenau und fehleranfällig - würde ich von abraten, außer die Rechner in der Schule sind uralt. Verwende mal SetPixelV() das sollte um einiges schneller sein.

naja, man könnte auch, speziell für das Sinusproblem, eine Vereinfachung aus der Taylorreihe(auch nicht 100%ig genau, aber für spiele reichts) nehmen(angle muss Bogenmaß sein):
CPP:
sinus = angle-angle*angle*angle*0.16666667f+angle*angle*angle*angle*angle*0.00833333f-angle*angle*angle*angle*angle*angle*angle*0.000198413f;


Gruß DXer

EDIT: std::sin ist auch seehhr schnell

Kann sein dass ich mich gerade täusche, aber ich habe denke ich schon oft gelesen dass moderne Prozessoren trigonometische Funktionen schneller berechnen als Fließkomma Multiplikationen.
So gesehen dürfte die Näherung eigentlich noch nichtmal schneller sein.
Ich weiß nicht wie Trigos berechnet werden, aber ich denke die Definition über Reihen werden sie sicher nicht verwenden Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 03.04.2006, 17:11    Titel: Antworten mit Zitat

xardias hat Folgendes geschrieben:
DirectXer hat Folgendes geschrieben:
Christian Rousselle hat Folgendes geschrieben:
Lookuptable bringen heutzutage wenig, sind kompliziert, ungenau und fehleranfällig - würde ich von abraten, außer die Rechner in der Schule sind uralt. Verwende mal SetPixelV() das sollte um einiges schneller sein.

naja, man könnte auch, speziell für das Sinusproblem, eine Vereinfachung aus der Taylorreihe(auch nicht 100%ig genau, aber für spiele reichts) nehmen(angle muss Bogenmaß sein):
CPP:
sinus = angle-angle*angle*angle*0.16666667f+angle*angle*angle*angle*angle*0.00833333f-angle*angle*angle*angle*angle*angle*angle*0.000198413f;


Gruß DXer

EDIT: std::sin ist auch seehhr schnell

Kann sein dass ich mich gerade täusche, aber ich habe denke ich schon oft gelesen dass moderne Prozessoren trigonometische Funktionen schneller berechnen als Fließkomma Multiplikationen.
So gesehen dürfte die Näherung eigentlich noch nichtmal schneller sein.
Ich weiß nicht wie Trigos berechnet werden, aber ich denke die Definition über Reihen werden sie sicher nicht verwenden Wink

ist das wirklich so? das ist mir neu... Mir fallen da zusätzlich nur noch die Optimierungen über Assembler ein, aber ich weiß, dass früher die Trigos alle "von Hand", also sehr zeitaufwändig berechnet wurden. Naja, wenn das stimmt was du sagst, kann Jona ja die ganzen behalten; wobei dann natürlich noch das mit den "modernen Prozessoren" kommt, also so einen haben die in der Schule bestimmt net^^

Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
PeaceKiller
JLI Master


Alter: 35
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 03.04.2006, 19:58    Titel: Antworten mit Zitat

Wenn man seinen Compiler richtig konfiguriert™, sollte er Befehlssatzerweiterung automatisch nutzen.
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Projekte Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum