Texturen Mischen

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

 

Matthias

Betreff: Texturen Mischen

BeitragMi, Okt 17, 2007 12:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Kurz und Kanpp. Texturen Mischen

Mann mus sich das system so vor stellen.

Du hast mehrere Texturen die Texturenzahl ist nicht begrenzt.

Diese Texturen werden nun mit ReadPixelFast in einem 3Dimensionalen Dim feld abgelegl.
zb bei 8Texturen und eine größe von 256x256 wäre es dann Dim Textur(8,256,256)

Jeder Textur hat ein Level, das sich in einem bereich von 0-100.0 bewegt.
nehemn wir mal an die 1. Textur hat ein Level von 0 und die 2. Textur ein level von zb 8
die 3. Textur ein Level von 22.


So Jetzt Legt Mann sich eine MichScala an und berechnet das Mischverältniss der jeweiligen
Textur zu der Textur die den näst höheren Level hat.
Diese Werte werden nun in eine HöhenMichScala abgelegt.
Zb Dim MScala#(100)
MScala(0)=0
MScala(2)=0.25...
MScala(4)=0.50...
>6=0.75...
>8=0.100...
>10=1.1428...
>12=1.2857...
>14=1.4285...
>16=1.5714...
>18=1.71428...
>20=1.8571...
>22=2.0...



Die Zahl vor dem komma gibt nun die Textur an und die nach dem Komma das Mischverhältniss.
So und der rest ist ein Kinderspiel.

Nun braucht mann nur noch die einzelnen RGB Kanäle der Texturen trennen und diese Prozentual
Mischen zb.


Höhe=6

Tex=int(MScala(Höhe))
Prozent#=MScala(Höhe)-Tex

b1=Textur(Tex,X,Y) AND $FF
b2=Textur(Tex+1,X,Y) and $FF

BNeu=B1*(1-Prozent)+B2*Prozent

Das Natürlich für alle 3Kanäle
Dann wieder alle 3Neu berechneten Kanäle vereinen und mit WritePixleFast schreiben.

FERTIG.

Vertex

BeitragMi, Okt 17, 2007 21:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ganze nennt sich 3D Texturing. Neben den Tetxurkoordinaten S und T führt man zusätzlich noch eine R (und Q für Homogene Koordinaten) ein, die praktisch den Layer angibt.

In der Medizintechnik benutzt man das häufig zum visualisieren von volumetrischen Körpern. Wenns dich interessiert:
http://gpwiki.org/index.php/OpenGL_3D_Textures
vertex.dreamfall.at | GitHub

Arrangemonk

BeitragMi, Okt 17, 2007 22:21
Antworten mit Zitat
Benutzer-Profile anzeigen
ich find rgb mischung eleganter
dem mesh gibt man vertexcolors oder ne mishmap
r = textur1
g =textur2
b= textur 3

daraus kann man sich das mischverhältnis auch errechnen
wie genau das in bb geht bin ich zu faul drüber nachzudenken
mit cmyka files kann man sogar 5 texturen miteinander mischen ^^
ingeneur

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group