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

Aktuelle Zeit: Fr Jul 04, 2025 14:11

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



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: VerschiedeneOpengl Fragen
BeitragVerfasst: Fr Dez 27, 2002 20:15 
Hi!

Ich habe einen Haufen Opengl Fragen. Viele von diesen sind sicher etwas blöd da ich noch ein Anfänger bin. Da es so viele Fragen sind, bitte ich darum das die nummer der Frage bei der Antwort angegeben wird.

1)
Ich will die collision detection von Maarten Kronberger gebrauchen, in der Code ist aber eine function gebraucht (isnan)die ich nicht keine und in keinem Unit auf meinem pc ist.
Ich hier sind auch die kommentare von Maarten Kronberger.

// Here we make sure that the angle is not a -1.#IND0000000 number, which means indefinate.
// acos() thinks it's funny when it returns -1.#IND0000000. If we don't do this check,
// our collision results will sometimes say we are colliding when we aren't. I found this
// out the hard way after MANY hours and already wrong written tutorials :) Usually
// this value is found when the dot product and the maginitude are the same value.
// We want to return 0 when this happens.

if(isnan(angle)) then
begin
result := 0;
exit;
end;

Die function scheint aus c++ zu kommen.

2)
Wenn man in einem commerziellen Spiel die visuelle qualität senkt, was wird da genau getan? Ich meine jetzt nicht resolution,bitdepth und so. Die texturen werden zum beispiel geblurred. Wie machen sie das und warum ist das schneller?

3)
Wie illegal ist es texture aus einem anderen Spiele zu gebrauchen? (Ich meine im allgemein, und nicht in europäischem Raum).

4)
Wie klein sollte/kann man auf dem Koordinaten system gehen. Viel der demos tun alles auf nur 1 einheit in jede Richtung.

5)
Nach so ein paar sekunden bekomme ich manchmal folgenden Fehler:
Project ... raised too many consecutive exceptions: 'acces violation at 0xbff24dd5: read of address 0x8239f000'. Process Stopped ...
Das CPU Fenster kommt auch hoch und ist fast immer auf mov ax,gs:[ecx] oder ähnlichem. Nachdem dieser Fehler so 2 mal aufgetreten ist, passiert es nicht wieder.

6)
Nachdem ich eine texture gebrauche, und dann eine Line male, ist die Line immer die falsche Farbe. Das selbe gilt auch andersrum. Nach einer roten line ist die texture dan nur noch in rot. glcolor3f(1,1,1) dazwischen hilft etwas aber nicht sehr gut.

Danke im voraus.

Conspirator


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 27, 2002 21:08 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
1.nan ist eine zahl, die bei einer berechnung entstanden ist, die nicht sein dürfte, z.b. irgendwas durch null. wenn ich mich recht entsinne ist isnan das gleiche wie (zahl = 0/0) = true

2. blurring entsteht durch den linearen filter.... tatsächlich ist das nicht das was es schneller macht, sondern die niedriger aufgelöste textur, die verwendet wird

3. in etwa das gleiche, wie als ob du das spiel kopieren würdest - am besten immer den author befragen, ob du die texturen verwenden darfst, oder sie selber herstellen

5. Bug in Delphi/Treiber..... schau dass du deine Grafikkartentreiber aktualisierst, dann sollte das Problem verschwinden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 27, 2002 21:15 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
huhu

4.) Ich denk mal die Maß einheit ist ziemlich egal, mach es so das es für dich übersichtilich ist :)
Wenn ich sachen aus RL nachmodelle nehm ich immer 1 Einheit = 1cm..

6.) mach mal
Code:
  1. glBindTexture(GL_TEXTURE_2D,0);

Dann sollte das gehen, wenn du die Farbe änderst dannach dann einfach glColor3f(1,1,1); machen :)

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 29, 2002 11:51 
Noch mal zu der ersten Frage, wie schlägst du vor das ich die code andere das isnan nicht gebraucht wird, aber trotzdem nicht diese fehler der im commentar beschrieben ist auftritt? Bitte die code posten.


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 29, 2002 12:38 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Die von dir benötigte Funktion isNan() befindet sich in der Unit Math.
Allerdings ist es gut möglich, das diese Funktion erst in neueren Delphi-Versionen implementiert ist.In Delphi6 ist sie auf jeden Fall enthalten, in Delphi3 gab es sie (meines Wissens nach) nocht nicht.

Falls du also ne Delphi-Version hast, in der es die Funktion nicht gibt, dann ist hier deren Quellcode aus der Math-Unit :
Code:
  1.  
  2.  
  3. function IsNan(const AValue: Double): Boolean;
  4.  
  5. begin
  6.  
  7.   Result := ((PInt64(@AValue)^ and $7FF0000000000000)  = $7FF0000000000000) and
  8.  
  9.  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;((PInt64(@AValue)^ and $000FFFFFFFFFFFFF) <> $0000000000000000)
  10.  
  11. end;
  12.  
  13.  


Und IsNan bei der Kollisionsabfrage einfach wegzulassen ist nicht möglich, dann wird die komplette Kollisionsabfrage nämlich unbrauchbar.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Danke
BeitragVerfasst: Sa Jan 04, 2003 17:27 
Vielen Dank an AYA un SON OF SATAN. Das von AYA zu #6 funkioniert und die code von SO OF SATAN werde ich heute ausprobieren.

Conspirator

Update: Das mit isnan geht auch. und es ist nicht in meinem math.pas drin (delphi 5 pro)!!!


Nach oben
  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 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.010s | 15 Queries | GZIP : On ]