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

Aktuelle Zeit: Fr Apr 26, 2024 01:53

Foren-Übersicht » Sonstiges » Community-Projekte
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 43 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 23, 2005 16:42 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Kennst du sinus Lookup Tables ? Damit werden die winkel für sinus und damit auch cosinus in einer tablle zur verfügung gestellt und muss nicht immer wieder berechnet werden. So kann man beim start einfach ne tabelle mit z.B. 720 einträgen erstellen und dann alle winkel in 0.5° abstand eintragen. Statts dann den sinus/cosinus aufwendig zu berechnen wird nur in den offset vom pointer der tabelle geguckt und man hat den Bogenmaß. Lookup tables sind einfach nur zum erhöhen der performance gedacht indem einfach werte vorgespeichert werden. Also könnte man sagen eine art selbsterzeugter Cache.

_________________
"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  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 23, 2005 16:48 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
eine "lookup table" ist im allgemeinen eine verknüpfung index->wert. so kannst du alles mögliche einfch per zahlenwert identifizieren. sinngemäß heisst es wohl "nachschlagetabelle".

Man hört in Verbindung mit Delphi auch oft "Konstantenarray", was im Grunde das selbe ist

wenn man zum beispiel fünf dynamisch erzeugte Images auf der form hat, schreibt man die natürlich in ein arry. genauso kann man es natürlich auch mit farben machen. also farbe1,farbe2,farbe3....
GIF Images arbeiten zum beispiel nur im indizierten farbindex, das heisst eine maximal byte-große (256 werte ;) ) tabelle enthält alle möglichen farbwerte, was das bild selbst dann von R+G+B+R+G+B auf Color1,Color2,.... schrumpfen lässt. genauso ist es wohl mit dem color-lookup.

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 23, 2005 23:19 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich galub das mit den Farbtabellen ist historischer natur. Keine Ahnung ob man sowas noch brauch. Eventuell bei Verteiltem Rendern. Also wenn GL-Client und GL-Server unterschiedliche Rechner sind, und man weniger Daten übertragen will. Aber schon das ist ein ziemlich Konstruierter Fall :roll:

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 24, 2005 13:35 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Hmm ok, danke für die Erklärungen.
Soll ichs dann ab jetzt "Farb-Nachschlagetabelle" nennen?

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 24, 2005 14:39 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also ich würde es einfach nur "Farbtabelle" nennen. Das ist da wohl eher der gängige Begriff dafür. Was man genau damit macht sollte nicht in dem Wort selber stecken. Das könnte man eher als kleinen Satz drunter erwähnen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jan 08, 2006 00:55 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Guck euch mal bitte glColorSubTable an, und sagt mir, dass die bei der Funktionsspezifikation einfach nur einen total doofen Fehler bei der Indexberechnung gemacht haben.



Wieso?


Müsste es nicht heißen:
"[...] mit den Indizes start bis start + width - 1."
anstatt
"[...] mit den Indizes start bis start + x - 1."

Ich war mir eigentlich ziemlich sicher, dass es so sein sollte, aber dann war bei den Fehlern wieder die "falsche Rechnung" als Grundlage genommen worden. Also ich versteh das jetzt nicht so richtig, was das x (was ja eine Fensterkoordinate ist) mit der Länge des zu kopierenden Bereichs zu tun hat. :?:

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jan 08, 2006 11:24 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Den Parameter "width" gibt es nur bei CopyColorTable!

Habe glColorSubTable ueberarbeitet.

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jan 08, 2006 14:49 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also jetzt versteh ich gar nichts mehr.

Wo hast du denn die Spezifikation ausgegraben? Wenn ich im netz nach glCopyColorSubTable suche, dann finde ich ausschließlich die Version die ich da übersetzt habe.

Und wenn du width in count umbenennst, dann frage ich mich was width bei den Fehlermeldungen bedeutet. Is irgendwie alles nochn bisl mystisch. :?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jan 08, 2006 15:45 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Aus den OpenGL orginal Spezifikationen:

Zitat:
Seite 119 (3.6. PIXEL RECTANGLES):

Code:
  1.  
  2.               Table Name                                                                   Type
  3.  
  4.               COLOR TABLE                                                                 regular
  5.               POST CONVOLUTION COLOR TABLE
  6.               POST COLOR MATRIX COLOR TABLE
  7.  
  8.               PROXY COLOR TABLE                                                   proxy
  9.               PROXY POST CONVOLUTION COLOR TABLE
  10.               PROXY POST COLOR MATRIX COLOR TABLE
  11.  


Table 3.4: Color table names. Regular tables have associated image data. Proxy
tables have no image data, and are used only to determine if an image can be loaded
into the corresponding regular table.

Code:
  1.  
  2.        void ColorTableParameter{if}v( enum target, enum pname,
  3.            T params );
  4.  


target must be a regular color table name. pname is one of COLOR TABLE SCALE
or COLOR TABLE BIAS. params points to an array of four values: red, green, blue,
and alpha, in that order.

A GL implementation may vary its allocation of internal component resolution
based on any ColorTable parameter, but the allocation must not be a function of
any other factor, and cannot be changed once it is established. Allocations must
be invariant; the same allocation must be made each time a color table is specified
with the same parameter values. These allocation rules also apply to proxy color
tables, which are described later in this section.

Alternate Color Table Specification Commands

Color tables may also be specified using image data taken directly from the frame-
buffer, and portions of existing tables may be respecified.

The command
Code:
  1.  
  2.        void CopyColorTable( enum target, enum internalformat,
  3.            int x, int y, sizei width );
  4.  

defines a color table in exactly the manner of ColorTable, except that table data
are taken from the framebuffer, rather than from client memory. target must be a
regular color table name. x, y, and width correspond precisely to the corresponding
arguments of CopyPixels (refer to section 4.3.3); they specify the image’s width
and the lower left (x, y ) coordinates of the framebuffer region to be copied. The

Seite 120 (3.6. PIXEL RECTANGLES):

image is taken from the framebuffer exactly as if these arguments were passed to
CopyPixels with argument type set to COLOR and height set to 1, stopping after the
final expansion to RGBA.

Subsequent processing is identical to that described for ColorTable, beginning
with scaling by COLOR TABLE SCALE. Parameters target, internalformat and width
are specified using the same values, with the same meanings, as the equivalent
arguments of ColorTable. format is taken to be RGBA.

Two additional commands,

Code:
  1.  
  2.        void ColorSubTable( enum target, sizei start, sizei count,
  3.            enum format, enum type, void *data );
  4.  
  5.        void CopyColorSubTable( enum target, sizei start, int x,
  6.            int y, sizei count );
  7.  


respecify only a portion of an existing color table. No change is made to the inter-
nalformat or width parameters of the specified color table, nor is any change made
to table entries outside the specified portion. target must be a regular color table
name.

ColorSubTable arguments format, type, and data match the corresponding ar-
guments to ColorTable, meaning that they are specified using the same values,
and have the same meanings. Likewise, CopyColorSubTable arguments x, y, and
count match the x, y, and width arguments of CopyColorTable. Both of the Color-
SubTable commands interpret and process pixel groups in exactly the manner of
their ColorTable counterparts, except that the assignment of R, G, B, and A pixel
group values to the color table components is controlled by the internalformat of
the table, not by an argument to the command.

Arguments start and count of ColorSubTable and CopyColorSubTable spec-
ify a subregion of the color table starting at index start and ending at index
start + count − 1. Counting from zero, the nth pixel group is assigned to the
table entry with index count + n. The error INVALID VALUE is generated if
start + count > width.


Color Table State and Proxy State

The state necessary for color tables can be divided into two categories. For each
of the three tables, there is an array of values. Each array has associated with it
a width, an integer describing the internal format of the table, six integer values
describing the resolutions of each of the red, green, blue, alpha, luminance, and
intensity components of the table, and two groups of four floating-point numbers to
store the table scale and bias. Each initial array is null (zero width, internal format

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jan 08, 2006 22:53 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Deshalb hasse ich diese Form der Spezifikation so. Unsere Version ist einfach unschlüssig. Das width steht nirgendwo erklärt, und in der DGLOpenGL.pas steht nicht count, sondern Width.

Das stört mich jetzt schon.

Zumindest ist die Bereichsangabe logisch.

Was wir aber nicht machen sollten, ist neue Felder wie "OrginalSpezifikation" einzubauen. Ich mach das mal weg. Du hast ja hier die Quelle angegeben, somit haben wir ne Diskussionsgrundlage.

Wie gehts nun weiter mit diesem seltsamen Artikel?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jan 08, 2006 23:12 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Also wenn ich das richtig verstanden habe, dann bezieht sich das width auf den Wert der beim erstellen des Color Tabels als Width Parameter uebergeben wurde.

Das was ich da gepostet hatte war uebrigens nur ein Auszug aus 3.6. PIXEL RECTANGLES.

MfG
Flo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 09, 2006 11:59 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ok. Das is schonmal ein Argument.

Ich bin für folgendes:

- Wir benutzen die Parameterbezeichnungen wie sie in der DGLOpenGL.pas sind (war auch in der Funk.Vorlage so geschrieben glaub ich)
- Wir erklären noch was width ist, und wo man das herbekommt (wenn man das irgendwo herbekommt).

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 09, 2006 16:23 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Flash hat geschrieben:
- Wir benutzen die Parameterbezeichnungen wie sie in der DGLOpenGL.pas sind (war auch in der Funk.Vorlage so geschrieben glaub ich)

Wir sollten das in der DGLOpenGL.pas ausbessern, und nicht den Bezeichnungsfehler auch noch ins Wiki uebertragen!

So neben bei bei gibt es auch noch ein paar andere Parameternamen die in der DGLOpenGL.pas nicht stimmen. Die Funktion wglMakeCurrent zum Beispiel hat noch den Parameternamen-Dummy p2.
[pascal]
TwglMakeCurrent = function(DC: HDC; p2: HGLRC): BOOL; stdcall;
[/code]

Zitat:
- Wir erklären noch was width ist, und wo man das herbekommt (wenn man das irgendwo herbekommt).


Waere sicherlich nicht schlecht ;)

MfG
Flo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 09, 2006 23:31 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ok. Das wäre natürlich noch besser. Dann sollte man aber mal eine Seite (vielleicht im Wiki, weil jeder Schreibzugriff drauf hat) machen, wo wir alle Funktionen vermerken, die im Header falsch sind, und einer von den Header-Jungs (Lars, Lossy, Wer eigentlich noch?) pflegt das dann mal ein.

Das mit width kannst du ja mal machen. Du hast anscheinend bisl besseren Überblick, bezüglich der Extension.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jan 29, 2006 14:40 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Hi.
Ich habe jetzt eine kleinen Artikel reingestellt, um zu erklären, was Convolution ist. Ich habe ehrlich gesagt wenig Ahnung, was das ist, und habe mich beim Verfassen auf einen Artikel in der c`t gestützt, bei dem es um Deconvolution geht. Ich habe zwar im Netz geforscht, aber da geht es bei Convolution anscheinend immer um etwas sehr mathematisches, und ich glaube, das es sich da um was andres als in OGL handelt. Vielleicht hat jemand von euch etwas mehr Ahnung?

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 87 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.088s | 17 Queries | GZIP : On ]