Minggu, 10 Juli 2011

survei dan pemetaan

Page 1
SURVEI DAN PEMETAAN TEKSTUR
Paul S. Heckbert
PIXAR
ABSTRAK
Pemetaan tekstur adalah salah satu teknik baru yang paling berhasil dalam sintesis kualitas gambar yang tinggi. Penggunaannya dapat
meningkatkan kekayaan visual dari gambar raster memindai sangat sementara entailing hanya meningkat relatif kecil
dalam perhitungan. Teknik ini telah diterapkan untuk sejumlah atribut permukaan: warna permukaan, permukaan
normal, specularity, transparansi, pencahayaan, dan permukaan perpindahan, untuk beberapa nama. Meskipun daftar
berpotensi tak berujung, teknik pemetaan tekstur dasarnya sama dalam semua kasus. Kami akan sur-
vey dasar-dasar pemetaan tekstur, yang dapat dibagi menjadi dua topik: pemetaan geometris yang
warps tekstur ke permukaan, dan penyaringan yang diperlukan untuk menghindari aliasing. Yang luas
bibliografi disertakan.
PENDAHULUAN
Mengapa Tekstur Peta?
Dalam upaya untuk pencitraan yang lebih realistis, salah satu kritik yang paling sering raster awal disintesis
gambar adalah kelancaran ekstrim permukaan - mereka tidak menunjukkan tekstur, benjolan, goresan, kotoran, atau jari-
cetakan. Realisme tuntutan kompleksitas, atau setidaknya munculnya kompleksitas. Pemetaan tekstur adalah suatu relativitas
tively efisien berarti untuk membuat penampilan kompleksitas tanpa kebosanan pemodelan dan rendering
setiap detail 3-D dari permukaan.
Studi pemetaan tekstur sangat berharga karena metodenya yang berlaku di seluruh komputer grafis
dan pengolahan gambar. Pemetaan Geometris relevan dengan pemodelan permukaan parametrik CAD
dan untuk umum 2-D distorsi gambar untuk pemulihan citra dan menggunakan artistik. Studi tekstur penyaringan
mengarah ke pengembangan filter varian ruang, yang berguna untuk pengolahan gambar, efek artistik,
kedalaman-medan-simulasi, dan blur.
Definisi
Kami mendefinisikan tekstur agak longgar: dapat berupa tekstur dalam arti biasa (misalnya kain, kayu, kerikil) - sebuah
rinci pola yang berulang kali untuk ubin pesawat, atau lebih umum, gambar multidimensi
yang dipetakan ke ruang multidimensi. Definisi terakhir mencakup non-ubin gambar seperti
billboard dan lukisan.
Pemetaan tekstur berarti pemetaan fungsi ke permukaan dalam 3-D. Domain dari fungsi tersebut dapat
menjadi satu, dua, atau tiga-dimensi, dan dapat direpresentasikan baik oleh sebuah array atau dengan matematika fungsi
tion. Sebagai contoh, tekstur 1-D dapat mensimulasikan strata batuan; tekstur 2-D dapat mewakili gelombang, vegetasi
[Nor82], atau benjolan permukaan [Per84]; tekstur 3-D dapat mewakili awan [Gar85], kayu [Pea85], atau marmer
[Per85a]. Untuk tujuan kita biasanya akan tekstur 2-D array.
Sumber gambar (tekstur) dipetakan ke permukaan dalam ruang 3-D objek, yang kemudian dipetakan ke des-
tination gambar (layar) dengan proyeksi melihat. Tekstur ruang diberi label (u, v), ruang objek diberi label
(X
o
, Y
o
, Z
o
), Dan ruang layar berlabel (x, y).
Kita mengasumsikan pembaca sudah akrab dengan istilah 3-D grafis raster dan isu-isu antialiasing
[Rog85], [Fol82].
Alamat penulis: PIXAR, PO Box 13719, San Rafael, CA, 94913.
Tulisan ini muncul dalam IEEE Computer Graphics dan Aplikasi, November 1986, hlm 56-67. Versi sebelumnya
tulisan ini muncul di Graphics, '86 Antarmuka Mei 1986, hlm 207-212.
-2 -
Menggunakan untuk Pemetaan Tekstur
Menggunakan mungkin untuk tekstur dipetakan banyak sekali. Beberapa parameter yang telah tekstur dipetakan ke
tanggal, dalam rangka kira-kira kronologis:
permukaan warna (penggunaan paling umum) [Cat74],
refleksi specular [Bli76],
perturbasi vektor normal (''pemetaan benjolan'') [Bli78a],
specularity (koefisien glossiness) [Bli78b],
transparansi [Gar85],
refleksi difus [Mil84],
bayangan, perpindahan permukaan, dan koefisien pencampuran [Coo84],
sistem koordinat lokal (''pemetaan bingkai'') [Kaj85].
Fokus kami dalam makalah ini adalah pada aspek-aspek komputasi texturing: tugas-tugas umum untuk semua jenis tex-
mendatang pemetaan. Kami tidak akan mencoba melakukan survei menyeluruh terhadap implikasi optik dan semantik texturing,
yang seksama yang tersedia [Car85]. Salah satu jenis pemetaan tekstur waran perhatian khusus,
namun: pemetaan iluminasi.
Iluminasi pemetaan adalah pemetaan dari refleksi specular atau difus. Hal ini juga dikenal sebagai peta-refleksi
ping atau pemetaan lingkungan. Pemetaan pencahayaan agak berbeda dari pemetaan parameter lain,
karena peta iluminasi tidak terkait dengan objek tertentu dalam adegan tetapi dengan infi-imajiner
nite jari-jari bola, silinder, atau kubus sekitar TKP [Gre86a]. Sedangkan peta tekstur standar
diindeks oleh permukaan parameter u dan v, peta refleksi specular diindeks oleh sinar tercermin Director,
tion [Bli76] dan peta refleksi difus diindeks oleh arah permukaan yang normal [Mil84]. Teknik
dapat digeneralisasi untuk transparansi juga, pengindeksan oleh arah sinar dibiaskan [Kay79]. Di khusus
kasus bahwa semua permukaan memiliki reflektansi yang sama dan mereka dilihat orthographically total tercermin
intensitas merupakan fungsi dari orientasi permukaan saja, sehingga peta difus dan specular dapat digabungkan menjadi satu
[Hor81]. Penyaringan efisien adalah sangat penting untuk pemetaan iluminasi, di mana lengkungan permukaan yang tinggi
sering membutuhkan area yang luas dari langit untuk dirata-ratakan.
Pemetaan Penerangan memfasilitasi simulasi lingkungan pencahayaan yang kompleks, karena waktu yang diperlukan
untuk naungan sebuah titik independen dari jumlah sumber cahaya. Ada alasan lain untuk baru-baru ini popu-
larity: itu adalah salah satu teknik menunjukkan sedikit untuk menyoroti antialiasing [Wil83], dan itu adalah inexpen-an
sive pendekatan untuk ray tracing untuk refleksi cermin dan metode radiositas [Gor84] untuk menyebar refleksi-
tion objek di lingkungan.
PEMETAAN
Pemetaan dari ruang tekstur untuk ruang layar dibagi menjadi dua tahap, seperti yang ditunjukkan pada gambar 1. Pertama adalah
permukaan parameterisasi bahwa ruang tekstur peta ke benda antariksa, diikuti oleh model standar dan
melihat transformasi bahwa peta ruang objek untuk ruang layar, biasanya dengan proyeksi perspektif
[Fol82]. Kedua pemetaan ini disusun untuk menemukan ruang 2-D tekstur secara keseluruhan untuk 2-D ruang layar peta-
ping, dan ruang 3-D menengah sering dilupakan. Penyederhanaan ini menunjukkan pemetaan tekstur yang
dekat hubungan dengan warping gambar dan distorsi geometris.
Pemindaian Orde
Ada tiga pendekatan umum untuk menggambar tekstur permukaan dipetakan: scan di ruang layar, scan dalam
tekstur ruang, dan dua-pass metode. Ketiga algoritma yang diuraikan di bawah ini:
-3 -
LAYAR MEMINDAI:
untuk y
untuk x
menghitung u (x, y) dan v (x, y)
copy TEX [u, v] untuk SCR [x, y]
TEKSTUR MEMINDAI:
untuk v
untuk u
menghitung x (u, v) dan y (u, v)
copy TEX [u, v] untuk SCR [x, y]
DUA-PASS:
untuk v
untuk u
menghitung x (u, v)
copy TEX [u, v] untuk TEMP [x, y]
untuk x
untuk v
menghitung y (x, y)
copy TEMP [x, v] untuk SCR [x, y]
mana TEX adalah array tekstur, SCR adalah array layar, dan TEMP adalah array sementara. Perhatikan bahwa menyalin
piksel melibatkan penyaringan.
Untuk layar, kadang-kadang disebut invers pemetaan, adalah metode yang paling umum. Untuk setiap piksel pada layar
ruang, pra-gambar dari pixel dalam ruang tekstur ditemukan dan daerah ini disaring. Metode ini lebih-
mampu ketika layar harus ditulis secara berurutan (misalnya ketika output akan film recorder), peta-
ping mudah dibalik, dan tekstur ini adalah akses acak.
Tekstur rangka mungkin tampak sederhana dari urutan layar, karena pembalik pemetaan yang tidak perlu dalam kasus ini,
tapi melakukan dengan benar agar tekstur membutuhkan kehalusan. Sayangnya, sampling seragam tekstur ruang tidak
tidak menjamin sampel yang seragam ruang layar kecuali untuk affine (linear) pemetaan. Jadi, untuk non-affine
pemetaan tekstur subdivisi harus sering dilakukan adaptif, jika tidak, lubang atau tumpang tindih akan menghasilkan
layar ruang. Pemindaian tekstur lebih baik ketika tekstur untuk pemetaan layar sulit untuk membalikkan, atau
ketika gambar tekstur harus dibaca berurutan (misalnya, dari tape) dan tidak akan cocok di akses acak
memori.
Dua-pass metode terurai pemetaan 2-D ke dua pemetaan 1-D, lulus pertama diterapkan pada baris
gambar dan kedua lulus diterapkan pada kolom [Cat80]. Metode ini bekerja sangat baik untuk
affine dan perspektif pemetaan, di mana warps untuk lulus setiap linear atau fungsi linear rasional.
Karena pemetaan dan filter 1-D mereka setuju untuk aliran teknik pengolahan seperti pipelin-
ing. Dua-pass metode lebih baik bila sumber gambar tidak dapat diakses secara acak tetapi memiliki cepat
baris dan kolom akses, dan buffer untuk gambar menengah tersedia.
Parameterization
Pemetaan tekstur 2-D ke permukaan dalam 3-D membutuhkan parameterisasi permukaan. Ini datang natu-
reli untuk permukaan yang didefinisikan parametrically, seperti patch bicubic, tapi kurang alami untuk lainnya sur-
wajah seperti poligon dan quadrics, yang biasanya didefinisikan secara implisit. Parameterisasi bisa dengan
permukaan koordinat u dan v, seperti dalam pemetaan tekstur standar, dengan arah vektor normal atau sinar cahaya,
seperti dalam pemetaan pencahayaan, atau oleh x koordinat spasial
o
, Y
o
, Dan z
o
untuk objek yang muncul diukir
dari bahan padat. Tekstur padat dapat dimodelkan dengan menggunakan sewenang-wenang 3-D fungsi [Per85a] atau dengan menyapu
2-D fungsi melalui ruang [Pea85], [Bie86].
-4 -
Parameterizing Pesawat dan Poligon
Kami akan memusatkan perhatian kita pada permukaan yang paling sederhana untuk pemetaan tekstur: poligon planar. Pertama kita membahas
the parameterization dan kemudian kami mempertimbangkan pemetaan komposit.
Sebuah segitiga mudah parameter dengan menetapkan koordinat tekstur ruang (u, v) pada setiap dari tiga ver-
tices. Ini mendefinisikan pemetaan afin antara ruang tekstur dan ruang 3-D objek, masing-masing dari x
o
, Y
o
, Dan z
o
memiliki bentuk Au + BV + C. Untuk poligon dengan lebih dari tiga sisi, fungsi nonlinier diperlukan dalam gen-
eral, dan satu harus memutuskan apakah fleksibilitas yang layak biaya. Alternatif adalah dengan mengasumsikan linear
parameterizations dan membagi menjadi segitiga di mana diperlukan.
Satu parameterisasi nonlinier yang kadang digunakan adalah patch bilinear:
[X
o
y
o
z
o
] = [Uv uv 1]
Sebuah
B
C
D
E
F
G
H
Aku
J
K
L
yang memetakan persegi panjang untuk quadrilaterals planar atau nonplanar [Hou83]. Parameterisasi ini memiliki
aneh milik melestarikan garis dan jarak yang sama di sepanjang sumbu vertikal dan horisontal tekstur, tapi pra-
tidak melayani sepanjang diagonalnya. Penggunaan parameterisasi ini untuk quadrilaterals planar tidak direkomendasikan-
diperbaiki, namun, karena pembalik memerlukan solusi dari persamaan kuadrat.
Sebuah parameterisasi yang lebih baik untuk quadrilaterals planar adalah 'perspektif pemetaan' [Hec83]:
[X
o
w
o
y
o
w
o
z
o
w
o
w
o
] = [Uv 1]
Sebuah
B
C
D
E
F
G
H
Aku
J
K
L
dimana w
o
adalah koordinat homogen yang dibagi melalui untuk menghitung ruang objek yang benar koordinator
akhiri [Rob66], [Fol82]. Obyek koordinat x
o
, Y
o
, Dan z
o
demikian dari bentuk
(Au + BV + C) / (Ju + Kv + L). Pemetaan perspektif mempertahankan garis pada semua orientasi tapi korban
sama spasi. Pemetaan afin adalah subset dari matriks perspektif yang J = K = 0. Perhatikan bahwa
perspektif pemetaan dapat digunakan untuk parameterisasi apakah atau tidak proyeksi melihat adalah per-
perspektif.
Memproyeksikan Poligon
Proyeksi ortografi
Proyeksi ortografi tekstur planar linear-parameter memiliki pemetaan komposit affine. Para
invers pemetaan ini adalah affine juga, tentu saja. Hal ini membuat mereka sangat mudah untuk memindai di layar
order: biaya hanya dua menambahkan per pixel, mengabaikan filtering [Smi80]. Hal ini juga dimungkinkan untuk melakukan
afin pemetaan dengan memindai tekstur, menghasilkan gambar di layar non-scanline pesanan. Sebagian besar
metode yang cukup cerdik.
Braccini dan menunjukkan Marino bahwa dengan mendepositokan pixel dari scanline tekstur sepanjang path dari Bresenham
saluran digital, gambar dapat diputar atau dicukur [Bra80]. Untuk mengisi lubang yang kadang-kadang hasil antara
garis berdekatan, mereka menarik sebuah piksel ekstra di setiap ketegaran dalam baris. Hal ini menyebabkan beberapa redundansi. Mereka juga
menggunakan algoritma Bresenham itu [Fol82] dalam cara yang sama sekali berbeda: resample array. Hal ini dimungkinkan
karena mendistribusikan pixel m sumber untuk piksel layar n adalah analog dengan menggambar garis dengan kemiringan n / m.
Weiman juga menggunakan algoritma Bresenham untuk skala tetapi tidak menarik diagonal layar
[Wei80]. Sebaliknya, ia terurai menjadi empat operasi rotasi scanline: Xscale, yscale, xshear, dan yshear.
Dia melakukan penyaringan dengan rata-rata kotak bersama beberapa fase dari gambar skala.
-5 -
Pemetaan afin dapat dilakukan dengan metode melewati beberapa dalam beberapa cara. Catmull dan Smith decom-
menimbulkan pemetaan tersebut menjadi komposisi dua geser-dan-besaran melewati: satu horizontal dan vertikal lainnya
[Cat80]. Dalam variasi sederhana ditemukan oleh Paeth, pemetaan rotasi didekomposisi menjadi tiga lewat
gunting: horizontal pertama, vertikal kedua, dan ketiga horisontal [Pae86]. Penyaringan ini tiga
lulus memutar sangat sederhana karena resampling the scanlines melibatkan tidak ada scaling.
Proyeksi Perspektif
Sebuah metode untuk pemetaan tekstur naif dalam perspektif adalah interpolasi linear koordinat tekstur u dan v
sepanjang sisi poligon dan di setiap scanline, sebanyak Gouraud shading atau Phong [Rog85] adalah
dilakukan. Namun, interpolasi linear tidak akan pernah memberikan efek yang tepat foreshortening nonlinier [Smi80], itu
tidak rotationally invarian, dan kesalahan jelas dalam animasi. Salah satu solusi adalah dengan membagi setiap poli-
gon ke poligon kecil. Solusi yang tepat, bagaimanapun, adalah untuk menggantikan interpolasi linear dengan
rumus yang benar, yang membutuhkan sebuah divisi pada setiap pixel. Bahkan, Gouraud shading dan Phong dalam perspektif,
yang biasanya diimplementasikan dengan interpolasi linear, berbagi masalah yang sama, tetapi kesalahan begitu
sedikit bahwa mereka jarang diperhatikan.
Perspektif pemetaan tekstur planar dapat dinyatakan menggunakan notasi matriks homogen [Hec83]:
[Xw YW w] = [uv 1]
Sebuah
B
C
D
E
F
G
H
Aku
Pemetaan ini analog dengan transformasi 3-D menggunakan perspektif yang lebih akrab 4x4 homogen
matriks. Invers pemetaan ini (dihitung dengan menggunakan matriks adjoin) adalah bentuk yang sama:
[UQ vq q] = [xy 1]
sebuah
b
c
d
e
f
g
h
i
= [Xy 1]
EI - FH
CH - BI
BF - CE
FG - DI
AI - CG
CD - AF
DH - EG
BG - AH
AE - BD
Komposisi dari dua perspektif pemetaan juga merupakan pemetaan perspektif. Akibatnya, pesawat menggunakan
perspektif parameterisasi yang dipandang dalam perspektif akan memiliki pemetaan senyawa perspektif
bentuk. Untuk layar pemindaian kita menghitung u dan v dari x dan y sebagai berikut:
u =
ax + by + c
gx + hy + i
,
v =
dx + ey + f
gx + hy + i
Perspektif menyederhanakan pemetaan ke bentuk afin saat G = H = g = h = 0, yang terjadi ketika permukaan
sejajar dengan bidang proyeksi.
Aoki dan Levine menunjukkan pemetaan tekstur poligon dalam perspektif menggunakan formula setara dengan
diatas [Aok78]. Smith membuktikan bahwa pembagian itu diperlukan secara umum, dan menunjukkan bagaimana u dan v dapat kal-
culated bertahap dari x dan y sebagai poligon dipindai [Smi80]. Seperti dibahas sebelumnya, Catmull dan
Smith menguraikan perspektif pemetaan menjadi dua lintasan gunting dan skala [Cat80]. Gangnet, Perny, dan
Coueignoux mengeksplorasi dekomposisi alternatif yang memutar layar dan tekstur ruang sehingga perspektif
terjadi di sepanjang salah satu sumbu gambar [Gan82].
Heckbert mempromosikan notasi matriks homogen untuk pemetaan tekstur dan membahas perspektif teknologi
tehnik untuk pemindaian di ruang layar [Hec83]. Karena rumus untuk u dan v di atas quotients dari linier
ekspresi, mereka dapat dihitung secara bertahap dengan biaya 3 menambah dan membagi 2 per pixel layar. Heck-
bert juga membahas metode untuk komputasi matriks 3x3. Karena mereka adalah homogen, skalar semua multi-
Ples dari matriks adalah setara. Jika kita sewenang-wenang memilih i = 1 daun ini 8 derajat kebebasan. Ini
8 nilai dapat dihitung secara empiris dengan memecahkan sistem persamaan linear 8x8, yang didefinisikan oleh
tekstur dan layar koordinat dari empat poin dalam pesawat.
-6 -
Patch
Pemetaan tekstur cukup populer untuk permukaan model dari patch, mungkin karena dua alasan: (a)
parameterisasi datang secara gratis, (b) biaya pemetaan tekstur relatif kecil untuk biaya patch membuat-
ing. Patch biasanya diberikan dengan menggunakan algoritma subdivisi dimana layar dan tekstur daerah ruang yang
dibagi secara paralel [Cat74]. Sebagai teknik alternatif, Catmull dan Smith menunjukkan, secara teoritis
setidaknya, bahwa adalah mungkin untuk melakukan pemetaan tekstur pada bilinear patch, bikwadratik, dan bicubic dengan
dua-pass algoritma [Cat80]. Shantz dan Fraser, Schowengerdt, dan Briggs menjelajahi metode yang sama untuk
tujuan distorsi geometrik citra [Sha82], [Fra85]. Dua-pass algoritma memerlukan 1-D ruang variabel-
semut filter tekstur.
PENYARINGAN
Setelah pemetaan dihitung dan tekstur yang melengkung, gambar harus resampled pada grid layar.
Proses ini disebut penyaringan.
Metode penyaringan tekstur termurah sampling titik, dimana pixel terdekat titik sampel yang diinginkan
digunakan. Ia bekerja relatif baik pada gambar unscaled, tapi untuk gambar membentang tekstur piksel yang terlihat
sebagai blok besar, dan untuk aliasing gambar menyusut dapat menyebabkan mengganggu pola moire.
Aliasing
Aliasing bisa terjadi ketika sinyal memiliki frekuensi tinggi unreproducible [Cro77], [Whi81]. Dalam tekstur peta-
ping, hal ini sangat terlihat pada kontras tinggi, tekstur frekuensi tinggi. Aliasing daripada menerima bahwa
hasil dari pengambilan sampel titik atau menghindari model-model yang memperlihatkan hal itu, kami lebih memilih kualitas gambar tinggi, kuat
sintesis sistem yang melakukan pekerjaan tambahan yang diperlukan untuk menghilangkannya. Dalam praktek pemberantasan, total aliasing
sering tidak praktis, dan kita harus puas dengan perkiraan yang hanya mengurangi ke tingkat unobjectionable.
Dua pendekatan untuk masalah aliasing adalah:
a) Titik sampel pada resolusi yang lebih tinggi
b) Low pass filter sebelum sampling
Metode pertama secara teoritis berarti pengambilan sampel pada resolusi ditentukan oleh frekuensi tertinggi pra-
dikirim dalam gambar. Karena permukaan dilihat miring dapat membuat frekuensi tinggi sewenang-wenang, resolusi ini
bisa sangat tinggi. Oleh karena itu diinginkan untuk membatasi supersampling padat ke daerah frekuensi tinggi
dan kontras tinggi dengan mengadaptasi tingkat sampling untuk varians intensitas lokal [Lee85]. Apakah adaptif
atau sampling titik seragam digunakan, pengambilan sampel stokastik dapat meningkatkan penampilan gambar secara signifikan
oleh perdagangan dari aliasing untuk kebisingan [Coo86].
Metode kedua, lulus rendah penyaringan sebelum pengambilan sampel, adalah lebih baik karena alamat penyebab
aliasing bukan gejalanya. Untuk menghilangkan sinyal aliasing kita harus menjadi band-terbatas (tidak mengandung fre-
quencies di atas batas Nyquist). Ketika sinyal yang melengkung dan resampled langkah-langkah berikut ini harus theo-
retically dilakukan [Smi83]:
1. merekonstruksi sinyal kontinyu dari sampel input oleh konvolusi
2. warp absis sinyal
3. low pass filter sinyal menggunakan konvolusi
4. resample sinyal pada titik-titik contoh output
Metode ini dipahami dengan baik untuk warps linier, di mana teori sistem linear memberikan dukungan
[Opp75], tetapi untuk warps nonlinier seperti perspektif, teori kurang, dan sejumlah perkiraan
metode bermunculan.
Ruang Invarian Penyaringan
Untuk warps gambar affine filter adalah ruang invarian; bentuk filter yang tetap konstan ketika bergerak melintasi
gambar. Empat langkah di atas sederhanakan menjadi:
1. low pass filter sinyal input menggunakan konvolusi
2. warp absis sinyal
3. resample sinyal pada titik-titik contoh output
-7 -
Ruang invarian penyaringan sering dilakukan dengan menggunakan FFT, kalikan, dan invers FFT [Opp75]. Biaya
operasi ini adalah independen dari ukuran filter.
Varian ruang Penyaringan
Pemetaan nonlinear memerlukan filter varian ruang, yang bentuknya bervariasi sebagai mereka bergerak di seluruh gambar. Ruang
filter varian yang lebih kompleks dan kurang dipahami dengan baik dari filter ruang invarian.
Secara umum, piksel layar persegi yang memotong permukaan melengkung memiliki pra-gambar lengkung segiempat di
tekstur ruang. Sebagian besar metode perkiraan pemetaan yang benar dengan perspektif lokal singgung atau linier
pemetaan, sehingga lengkung pra-gambar didekati dengan segiempat atau jajaran genjang. Jika piksel
malah dianggap sebagai lingkaran, mereka pra-gambar elips. Model ini sering sederhana karena sebuah elips
memiliki lima derajat kebebasan (dua untuk posisi, dua untuk jari-jari, dan satu untuk sudut), sementara segiempat memiliki
delapan. Gambar 2 menunjukkan pra-gambar piksel layar beberapa persegi dan menggambarkan bagaimana pixel dekat hori-
Zon atau siluet memerlukan penyaringan besar, daerah yang sangat memanjang. Salah satu yang terbesar tekstur penyaringan tantangan-
lenges adalah menemukan algoritma efisien untuk menyaring daerah yang cukup umum (seperti elips berorientasi sewenang-wenang atau
quadrilaterals).
Bentuk penampang dari filter juga penting. Secara teoritis kita harus menggunakan low pass yang ideal fil-
ter, sinc (x) = sin (
π
x) /
π
x, tetapi lebar tak terhingga membuatnya tidak praktis untuk perhitungan. Dalam prakteknya kita harus
menggunakan respon impulse yang terbatas (FIR) filter [Opp75]. FIR filter yang umum digunakan adalah kotak, segitiga, kubik
b-spline, dan dipotong gaussian (gambar 3).
Kebanyakan algoritma untuk menyaring tekstur memungkinkan permintaan penyaringan dilakukan dalam rangka sewenang-wenang. Seperti acak
kemampuan akses adalah penting untuk aplikasi seperti pemetaan refleksi atau ray tracing, yang menghasilkan
tersebar luas permintaan.
Metode untuk menyaring varian mengakses ruang acak dapat dikategorikan sebagai berikut:
1. langsung konvolusi
2. prefiltering (piramida atau array terintegrasi)
3. seri Fourier
Langsung Konvolusi
Teknik penyaringan yang paling mudah adalah konvolusi langsung, yang secara langsung menghitung tertimbang
rata-rata sampel tekstur. Kami sekarang meringkas beberapa metode konvolusi langsung.
Catmull, 1974
Dalam karyanya subdivisi Patch renderer, Catmull menghitung rata-rata tertimbang dari pixel tekstur corre-
sponding untuk setiap pixel layar [Cat74]. Dia memberikan beberapa rincian, tapi filter itu tampaknya menjadi suatu segiempat dengan
bagian kotak lintas.
Blinn dan Newell, 1976
Blinn dan Newell memperbaiki ini dengan filter segitiga yang membentuk piramida persegi tumpang tindih 2 piksel
luas dalam ruang layar [Bli76]. Pada setiap pixel piramida terdistorsi agar sesuai dengan genjang mendekati
dalam ruang tekstur, dan rata-rata tertimbang dihitung.
Feibush, Levoy, dan Cook, 1980
Filter yang digunakan oleh Feibush, Levoy, dan Cook lebih rumit [Fei80].
Langkah-langkah berikut ini diambil pada setiap piksel layar:
(1) Pusat fungsi filter (kotak, silinder, kerucut, atau gaussian) pada pixel dan menemukan yang melompat-lompat rectan-
gle.
(2) Transform persegi panjang untuk tekstur ruang, di mana itu adalah segiempat. Sisi ini segiempat
diasumsikan lurus. Cari persegi panjang berlari untuk ini segiempat.
(3) Peta semua piksel di dalam persegi panjang tekstur ruang untuk ruang layar.
-8 -
(4) Formulir rata-rata tertimbang dari tekstur piksel dipetakan menggunakan tabel dua dimensi lookup diindeks
oleh setiap lokasi sampel dalam pixel.
Karena fungsi filter dalam tabel dapat filter gaussian kualitas atau tinggi lainnya.
Gangnet, Perny, dan Coueignoux, 1982
Filter tekstur yang diusulkan oleh Gangnet, Perny, dan Coueignoux sangat mirip dengan metode Feibush et.
al, tapi. mereka membagi seragam dalam ruang layar ketimbang ruang tekstur [Gan82].
Pixel diasumsikan melingkar dan tumpang tindih. Gambar pra-lingkaran layar adalah elips tekstur
sumbu utama yang sesuai dengan arah kompresi terbesar. Sebuah persegi menengah supersam-
jaringan pling yang berorientasi ortogonal ke layar dibangun. Tingkat supersampling ditentukan
dari diagonal terpanjang dari genjang mendekati elips tekstur. Masing-masing titik sampel
pada grid menengah dipetakan ke tekstur ruang, dan interpolasi bilinear digunakan untuk merekonstruksi tex-
mendatang nilai pada titik-titik sampel. Nilai tekstur yang kemudian tertimbang oleh sinc dipotong 2 pixel
dalam ruang layar dan dijumlahkan.
Kertas kontras''Feibush kembali mengubah metode''dengan''sendiri''mereka langsung metode transformasi,
mengklaim bahwa yang terakhir menghasilkan hasil yang lebih akurat karena grid sampling dalam ruang layar yang agak
daripada di ruang tekstur. Perbedaan lain yang lebih signifikan. Sebagai contoh, metode Gangnet yang membutuhkan
interpolasi bilinear untuk setiap titik sampel, sedangkan metode Feibush yang tidak. Juga, Gangnet sampel pada
tidak perlu frekuensi tinggi sepanjang sumbu minor elips tekstur. Untuk dua alasan ini, Feibush yang
algoritma mungkin lebih cepat dari Gangnet itu.
Greene dan Heckbert, 1986
Filter rata-rata tertimbang elips (EWA) diusulkan oleh Heckbert [Gre86b] adalah serupa dengan Gangnet yang
metode dalam mengasumsikan bahwa hal itu tumpang tindih piksel melingkar yang peta untuk elips berorientasi sewenang-wenang, dan itu adalah seperti
Feibush karena fungsi filter disimpan dalam tabel, tapi bukannya piksel pemetaan tekstur untuk
ruang layar, filter dipetakan ke ruang tekstur. Bentuk filter, fungsi sirkuler simetris dalam
ruang layar, yang diselubungi oleh fungsi paraboloid elips ke elips dalam ruang tekstur. Para elips
paraboloid dihitung secara bertahap dan digunakan untuk kedua pengujian inklusi elips dan indeks tabel filter. Para
biaya per pixel tekstur hanya beberapa operasi aritmatika, berbeda dengan Feibush dan metode Gangnet itu,
yang keduanya membutuhkan pemetaan setiap pixel dari ruang tekstur untuk ruang layar, atau sebaliknya.
Perbandingan Metode Konvolusi Langsung
Semua lima metode memiliki biaya per piksel layar sebanding dengan jumlah piksel tekstur diakses, dan ini
biaya tertinggi untuk Feibush dan Gangnet. Sejak filter EWA sebanding dengan kualitas kedua lainnya
teknik dengan biaya yang jauh lebih rendah, tampaknya menjadi algoritma tercepat untuk konvolusi kualitas tinggi langsung.
Prefiltering
Bahkan dengan optimasi, metode di atas sering sangat lambat, karena gambar pra-piksel dapat arbi-
trarily besar sepanjang siluet atau di cakrawala sebuah pesawat bertekstur. Horizon piksel dengan mudah dapat meminta
rata-rata dari ribuan piksel tekstur. Kami lebih suka filter tekstur yang biayanya tidak tumbuh dalam pro-
Bagian ke daerah tekstur.
Untuk mempercepat proses, tekstur dapat prefiltered sehingga selama rendering hanya beberapa sampel akan
diakses untuk setiap pixel layar. Biaya akses filter dengan demikian akan konstan, tidak seperti konvolusi langsung
metode. Dua struktur data telah digunakan untuk prefiltering: piramida gambar dan array terintegrasi.
Piramida struktur data yang umum digunakan dalam pengolahan citra dan visi komputer [Tan75], [Ros84].
Aplikasi mereka untuk pemetaan tekstur rupanya pertama kali diusulkan dalam pekerjaan PhD Catmull itu.
Beberapa filter tekstur yang mempekerjakan prefiltering diringkas di bawah ini. Setiap metode membuat sendiri trade-off
antara kecepatan dan kualitas filter.
-9 -
piramida - Dungan, Stenger, dan Sutty, 1978
Dungan, Stenger, dan Sutty prefilter tekstur ubin''''untuk membentuk sebuah piramida yang resolusi adalah pangkat dari
dua [Dun78]. Untuk menyaring daerah tekstur elips salah satu tingkat piramida dipilih berdasarkan dari
diameter rata-rata elips dan tingkat yang titik sampel. Biaya memori untuk jenis tekstur
piramida adalah 1 + 1 / 4 + 1 / 16 + ⋅ ⋅ ⋅ = 4 / 3 kali yang diperlukan untuk tekstur tanpa filter. Lain telah menggunakan empat
dimensi gambar piramida yang prefilter diferensial dalam u dan v untuk resolusi dalam bentuk 2
Δ u
× 2
Δ v
.
piramida - Heckbert, 1983
Heckbert membahas interpolasi trilinear Williams 'skema piramida untuk (lihat di bawah) dan penggunaan efisien dalam
perspektif pemetaan tekstur poligon [Hec83]. Memilih tingkat piramida adalah setara dengan approximat-
ing tekstur segiempat dengan persegi, seperti yang ditunjukkan pada Gambar 4a. Rumus direkomendasikan untuk diameter
d alun-alun adalah maksimum panjang sisi segiempat. Aliasing hasil jika daerah tersebut disaring
terlalu kecil, dan mengaburkan hasil jika itu terlalu besar, satu atau yang lain tidak bisa dihindari (itu adalah kebiasaan untuk berbuat salah di
kabur sisi, konservatif).
piramida - Williams, 1983
Williams meningkatkan pada titik pengambilan sampel Dungan dengan mengusulkan skema interpolasi trilinear untuk pyrami-
gambar interpolasi bilinear dal dimana dilakukan pada dua tingkat dari piramida dan interpolasi linear
dilakukan antara mereka [Wil83]. Output dari filter ini adalah demikian fungsi kontinu posisi (u, v)
dan diameter d. Filter-Nya memiliki biaya konstan 8 mengakses pixel dan 7 mengalikan per pixel layar.
Williams menggunakan filter kotak untuk membangun piramida gambar, tetapi gaussian filter juga dapat digunakan [Bur81]. Dia
juga mengusulkan tata letak tertentu untuk gambar warna piramida disebut''mipmap''.
EWA pada piramida - Greene dan Heckbert, 1986
Mencoba untuk memisahkan struktur data dari fungsi akses, Greene menyarankan penggunaan EWA fil-
ter pada gambar piramida [Gre86b]. Berbeda dengan teknik prefiltering lain seperti interpolasi trilinear
pada sebuah piramida atau tabel daerah dijumlahkan, EWA memungkinkan elips berorientasi sewenang-wenang akan disaring, menghasilkan
kualitas yang lebih tinggi.
menyimpulkan kawasan tabel - Gagak, 1984; Ferrari dan Sklansky, 1984
Gagak mengusulkan tabel daerah dijumlahkan, sebuah alternatif untuk penyaringan piramida metode sebelumnya, yang
memungkinkan daerah persegi panjang yang berorientasi ortogonal akan disaring dalam waktu yang konstan [Cro84]. Tekstur asli
adalah pra-terintegrasi dalam arah u dan v dan disimpan dalam sebuah tabel daerah presisi tinggi dijumlahkan. Untuk filter rect-
daerah sudut meja adalah sampel di empat tempat (sebanyak satu mengevaluasi suatu integral tertentu dengan sampling sebuah
terbatas terpisahkan). Untuk melakukan hal ini tanpa artefak membutuhkan akses 16 dan 14 biak pada umumnya, tetapi
optimasi untuk daerah besar pemotongan biaya untuk mengakses dan 2 4 mengalikan. Meja presisi tinggi membutuhkan 2
sampai 4 kali biaya memori dari gambar asli.
Metode ini dikembangkan secara mandiri oleh Ferrari dan Sklansky, yang menunjukkan bagaimana konvolusi dengan arbi-
poligon trary bujursangkar dengan mudah dapat dilakukan dengan menggunakan tabel daerah dijumlahkan [Fer84], [Fer85].
Tabel Area menyimpulkan umumnya lebih mahal daripada piramida tekstur di kedua memori dan waktu, tetapi
dapat melakukan penyaringan lebih baik daripada piramida karena filter daerah persegi panjang, tidak hanya kotak, seperti yang ditunjukkan pada
Gambar 4b. Glassner telah menunjukkan bagaimana persegi panjang dapat berturut-turut disempurnakan untuk memperkirakan suatu segiempat
[Gla86]. Sebagai optimasi ia juga menunjukkan bahwa perbaikan ini dapat dilakukan hanya di daerah lokal tinggi tex-
varians mendatang. Untuk menghitung varians atas persegi panjang ia pra-menghitung varians dari area 3x3 dan membentuk
menyimpulkan kawasan tabel mereka. Sebuah metode yang lebih akurat untuk varians komputasi persegi panjang akan pra-
menghitung tabel wilayah menyimpulkan nilai-nilai tekstur dan kotak mereka. Dengan menggunakan varians dua tabel dapat
dihitung sebagai
σ
2
= Σ x
2
i
/ N - (Σ x
i
/ N)
2
. Tentu saja ada overhead yang cukup besar dalam waktu dan memori untuk
mengakses tabel varians.
berulang integrasi penyaringan - Perlin, 1985; Heckbert, 1986; Ferrari et. al, 1986.
Ini generalisasi elegan dari tabel wilayah dijumlahkan dikembangkan secara mandiri oleh Perlin dan oleh Ferrari
et. al. [Per85b], [Hec86], [Fer86]. Jika suatu gambar pra-terintegrasi dalam u dan vn kali, sebuah ortogonal berorientasi
-10 -
daerah elips dapat disaring dengan sampling array di (n + 1)
2
poin dan bobot mereka secara tepat.
Filter efektif adalah sebuah kotak convolved dengan dirinya sendiri n kali (yang ke-n untuk b-spline) yang ukurannya dapat dipilih
pada setiap piksel layar. Jika n = 0 metode merosot ke titik sampel, jika n = 1 adalah setara dengan
summed area table with its box filter, n = 2 uses a triangular filter, and n = 3 uses a parabolic filter. As n
increases, the filter shape approaches a gaussian, and the memory and time costs increase. The method can
be generalized to arbitrary spline filters [Hec86]. One difficulty with the method is that high precision
arithmetic (more than 32 bits) is required for n  2.
Comparison of Prefiltering Methods
The following table summarizes the prefiltering methods we have discussed:
REFERENSI
FILTER
SHAPE
DOF
WAKTU
MEMORY
point sampling
impulse
point
2
1,0
1
point sampled pyramid
box
persegi
3
1,0
1.33
trilinear interp. on pyramid
box
persegi
3
8,7
1.33
4-D pyramid (scaling u and v)
box
rectangle
4
16,15
4
EWA on pyramid
apapun
ellipse
5
unlimited?
1.33
summed area table
box
rectangle
4
16,14; or 4,2
2-4
repeated integration (order 2)
triangle
rectangle
4
36,31; or 9,4
2-6
direct convolution
apapun
apapun
5+
unlimited
1
The high quality direct convolution methods of Feibush and Gangnet have been included at the bottom for
comparison. In this table, FILTER means cross section, while SHAPE is 2-D filter shape. Jumlah
degrees of freedom (DOF) of the 2-D filter shape provides an approximate ranking of filter quality; the
more degrees of freedom are available the greater is the filter shape control. The numbers under TIME are
the number of texture pixel accesses and the number of multiplies per screen pixel. MEMORY is the ratio
of memory required relative to an unfiltered texture.
We see that the integrated array techniques of Crow and Perlin have rather high memory costs relative to
the pyramid methods, but allow rectangular or orthogonally oriented elliptical areas to be filtered. Tradi-
tionally pyramid techniques have lower memory cost but allow only squares to be filtered.
Since prefiltering usually entails a setup expense proportional to the square of the texture resolution, its cost
is proportional to that of direct convolution − if the texture is only used once. But if the texture is used
many times, as part of a periodic pattern, or appearing on several objects or in several frames of animation,
the setup cost can be amortized over each use.
Figure 5 illustrates several of these texture filters on a checkerboard in perspective, which is an excellent
test of a texture filter, since it has a range of frequencies at high contrast. Note that trilinear interpolation
on a pyramid blurs excessively parallel to the horizon but that integrated arrays do not. Second order
repeated integration does just as well as EWA for vertically oriented texture ellipses (on the left of the
images), but there is a striking difference between gaussian EWA and the other prefiltering methods for
ellipses at 45 degrees (on the right of the images).
Fourier Series
An alternative to texture space filtering is to transform the texture to frequency space and low pass filter its
spektrum. This is most convenient when the texture is represented by a Fourier series rather than a texture
array. Norton, Rockwood, and Skolmoski explore this approach for flight simulator applications and pro-
pose a simple technique for clamping high frequency terms [Nor82]. Gardner employs 3-D Fourier series
as a transparency texture function, with which he generates surprisingly convincing pictures of trees and
clouds [Gar85].
Perlin's ''Image Synthesizer'' uses band limited pseudo-random functions as texture primitives [Per85a].
Creating textures in this way eases transitions from macroscopic to microscopic views of a surface; in the
macroscopic range the surface characteristics are built into the scattering statistics of the illumination
model, in the intermediate range they are modeled using bump mapping, and in the microscopic range the
surface is explicit geometry [Per84], [Kaj85]. Each term in the texture series can make the transition
-11-
independently at a scale appropriate to its frequency range.
Filtering Recommendations
The best filtering algorithm for a given task depends on the texture representation in use. When filtering a
texture array, the minimal texture filter should be trilinear interpolation on a pyramid. This blurs exces-
sively, but it eliminates most aliasing and costs little more than point sampling. Next in quality and cost are
integrated arrays of order 1 (box filter) or order 2 (triangle filter). These allow elongated vertical or hori-
zontal areas to be filtered much more accurately (resulting in less blurring at horizons and silhouettes) but
blur is still excessive for elongated areas at an angle (such as an eccentric ellipse at 45 degrees). For near-
perfect quality at a cost far below that of direct convolution, the EWA or similar filter on a pyramid is rec-
ommended. Its cost is not strictly bounded like most prefiltering methods, but is proportional to ellipse
eccentricity. The cost of direct convolution, meanwhile, is proportional to ellipse area. Any of these meth-
ods could probably benefit from adaptive refinement according to local texture variance [Gla86].
In the case of arbitrary texture functions, which can be much harder to integrate than texture arrays, adap-
tive stochastic sampling methods are called for [Lee85].
Future research on texture filters will continue to improve their quality by providing greater filter shape
control while retaining low time and memory costs. One would like to find a constant-cost method for high
quality filtering of arbitrarily oriented elliptical.
SYSTEM SUPPORT FOR TEXTURE MAPPING
So far we have emphasized those tasks common to all types of texture mapping. We now summarize some
of the special provisions that a modeling and rendering system must make in order to support different vari-
eties of texture mapping. We assume that the rendering program is scanning in screen space.
The primary requirements of standard texture mapping are texture space coordinates ( u , v ) for each screen
pixel plus the partial derivatives of u and v with respect to screen x and y for good antialiasing. If the ana-
lytic formulas for these partials are not available, they can be approximated by differencing the u and v of
neighboring pixels.
Bump mapping requires additional information at each pixel: two vectors tangent to the surface pointing in
the u and v directions. For facet shaded polygons these tangents are constant across the polygon, but for
Phong shaded polygons they vary. In order to ensure artifact-free bump mapping on Phong shaded poly-
gons, these tangents must be continuous across polygon seams. One way to guarantee this is to compute
tangents at all polygon vertices during model preparation and interpolate them across the polygon. Para
normal vector can be computed as the cross product of the tangents.
Proper antialiasing of illumination mapping requires some measure of surface curvature in order to calcu-
late the solid angle of sky to filter. This is usually provided in the form of the partials of the normal vector
with respect to screen space. When direct rendering support for illumination mapping is unavailable, how-
ever, tricks can be employed that give a visually acceptable approximation. Rather than calculate the exact
ray direction at each pixel, one can compute the reflected or refracted ray direction at polygon vertices only
and interpolate it, in the form of u and v texture indices, across the polygon using standard methods.
Although texture maps are usually much more compact than brute force 3-D modeling of surface details,
they can be bulky, especially when they represent a high resolution image as opposed to a low resolution
texture pattern that is replicated numerous times. Keeping several of these in random access memory is
often a burden on the rendering program. This problem is especially acute for rendering algorithms that
generate the image in scanline order rather than object order, since a given scanline could access hundreds
of texture maps. Further work is needed on memory management for texture map access.
SUMMARY
Texture mapping has become a widely used technique because of its generality and efficiency. It has even
made its way into everyday broadcast TV, thanks to new real-time video texture mapping hardware such as
the Ampex ADO and Quantel Mirage . Rendering systems of the near future will allow any conceivable
-12-
surface parameter to be texture mapped. Despite the recent explosion of diverse applications for texture
mapping, a common set of fundamental concepts and algorithms is emerging. We have surveyed a number
of these fundamentals: alternative techniques for parameterization, scanning, texture representation, direct
convolution, and prefiltering. Further work is needed on quantifying texture filter quality and collecting
theoretical and practical comparisons of various methods.
UCAPAN TERIMA KASIH
My introduction to textures came while mapping Aspen's facades for Walter Bender's Quick and Dirty Ani-
mation System (QADAS) at the Massachusetts Institute of Technology's Architecture Machine Group; we
learned the hard way that point sampling and linear u , v aren't good enough. I did most of the research that
evolved into this paper while at New York Institute of Technology's Computer Graphics Lab, where Pat
Hanrahan and Mike Chou contributed many ideas and Ned Greene, Jules Bloomenthal, and Lance Williams
supplied the cheeseburger incentives. Thanks also to Rob Cook at Pixar for his encouragement, and to all
the good folks at Pacific Data Images.
REFERENSI
Recommended reading: Rogers' book [Rog85] is an excellent introduction to image synthesis. For a good
introduction to texture mapping see Blinn and Newell's paper [Bli76]. Smith [Smi83] gives a helpful theo-
retical/intuitive introduction to digital image filtering, and Feibush et. al. [Fei80] go into texture filtering in
detail. Two pass methods are described by Catmull and Smith [Cat80]. The best references on bump map-
ping and illumination mapping are by Blinn [Bli78a] and Miller & Hoffman [Mil84], respectively. Systems
aspects of texture mapping are discussed by Cook [Coo84] and Perlin [Per85a].
[Aok78] Masayoshi Aoki, Martin D. Levine, ''Computer Generation of Realistic Pictures'', Computers
and Graphics , Vol. 3, 1978, pp. 149-161.
[Bie86] Eric A. Bier, Kenneth R. Sloan, Jr., ''Two-Part Texture Mappings'', IEEE Computer Graphics
and Applications , Vol. 6, No. 9, Sept. 1986, pp. 40-53.
[Bli76] James F. Blinn, Martin E. Newell, ''Texture and Reflection in Computer Generated Images'',
CACM , Vol. 19, No. 10, Oct. 1976, pp. 542-547.
[Bli78a] James F. Blinn, ''Simulation of Wrinkled Surfaces'', Computer Graphics , (SIGGRAPH '78 Pro-
ceedings), Vol. 12, No. 3, Aug. 1978, pp. 286-292.
[Bli78b] James F. Blinn, ''Computer Display of Curved Surfaces'', PhD thesis, CS Dept., U. of Utah,
1978.
[Bra80] Carlo Braccini, Giuseppe Marino, ''Fast Geometrical Manipulations of Digital Images'', Com-
puter Graphics and Image Processing , Vol. 13, 1980, pp. 127-141.
[Bur81] Peter J. Burt, ''Fast Filter Transforms for Image Processing'', Computer Graphics and Image
Processing , Vol. 16, 1981, pp. 20-51.
[Car85] Richard J. Carey, Donald P. Greenberg, ''Textures for Realistic Image Synthesis'', Computers and
Graphics , Vol. 9, No. 2, 1985, pp. 125-138.
[Cat74] Ed Catmull, A Subdivision Algorithm for Computer Display of Curved Surfaces , PhD thesis,
Dept. of CS, U. of Utah, Dec. 1974.
[Cat80] Ed Catmull, Alvy Ray Smith, ''3-D Transformations of Images in Scanline Order'', Computer
Graphics , (SIGGRAPH '80 Proceedings), Vol. 14, No. 3, July 1980, pp. 279-285.
[Coo84] Robert L. Cook, ''Shade Trees'', Computer Graphics , (SIGGRAPH '84 Proceedings), Vol. 18,
No. 3, July 1984, pp. 223-231.
[Coo86] Robert L. Cook, ''Antialiasing by Stochastic Sampling'', to appear, ACM Transactions on Graph-
ics , 1986.
[Cro77] Franklin C. Crow, ''The Aliasing Problem in Computer-Generated Shaded Images'', CACM , Vol.
20, Nov. 1977, pp. 799-805.
-13-
[Cro84] Franklin C. Crow, ''Summed-Area Tables for Texture Mapping'', Computer Graphics , (SIG-
GRAPH '84 Proceedings), Vol. 18, No. 3, July 1984, pp. 207-212.
[Dun78] William Dungan, Jr., Anthony Stenger, George Sutty, ''Texture Tile Considerations for Raster
Graphics'', Computer Graphics , (SIGGRAPH '78 Proceedings), Vol. 12, No. 3, Aug. 1978, pp.
130-134.
[Fei80] Eliot A. Feibush, Marc Levoy, Robert L. Cook, ''Synthetic Texturing Using Digital Filters'',
Computer Graphics , (SIGGRAPH '80 Proceedings), Vol. 14, No. 3, July 1980, pp. 294-301.
[Fer84] Leonard A. Ferrari, Jack Sklansky, ''A Fast Recursive Algorithm for Binary-Valued Two-Dimen-
sional Filters'', Computer Vision, Graphics, and Image Processing , Vol. 26, No. 3, June 1984, pp.
292-302.
[Fer85] Leonard A. Ferrari, Jack Sklansky, ''A Note on Duhamel Integrals and Running Average Filters'',
Computer Vision, Graphics, and Image Processing , Vol. 29, Mar. 1985, pp. 358-360.
[Fer86] Leonard A. Ferrari, PV Sankar, Jack Sklansky, Sidney Leeman, ''Efficient Two-Dimensional
Filters Using B-Spline Approximations'', to appear, Computer Vision, Graphics, and Image Pro-
cessing .
[Fol82] James D. Foley, Andries van Dam, Fundamentals of Interactive Computer Graphics , Addison-
Wesley, Reading, MA, 1982.
[Fra85] Donald Fraser, Robert A. Schowengerdt, Ian Briggs, ''Rectification of Multichannel Images in
Mass Storage Using Image Transposition'', Computer Vision, Graphics, and Image Processing ,
Vol. 29, No. 1, Jan. 1985, pp. 23-36.
[Gan82] Michel Gangnet, Didier Perny, Philippe Coueignoux, ''Perspective Mapping of Planar Textures'',
Eurographics '82 , 1982, pp. 57-71, (slightly superior to the version that appeared in Computer
Graphics , Vol. 16, No. 1, May 1982).
[Gar85] Geoffrey Y. Gardner, ''Visual Simulation of Clouds'', Computer Graphics , (SIGGRAPH '85 Pro-
ceedings), Vol. 19, No. 3, July 1985, pp. 297-303.
[Gla86] Andrew S. Glassner, ''Adaptive Precision in Texture Mapping'', Computer Graphics , (SIG-
GRAPH '86 Proceedings), Vol. 20, No. 4, Aug. 1986, pp. 297-306.
[Gor84] Cindy M. Goral, Kenneth E. Torrance, Donald P. Greenberg, Bennett Battaile, ''Modeling the
Interaction of Light Between Diffuse Surfaces'', Computer Graphics , (SIGGRAPH '84 Proceed-
ings), Vol. 18, No. 3, July 1984, pp. 213-222.
[Gre86a]
Ned Greene, ''Environment Mapping and Other Applications of World Projections'', Graphics
Interface '86 , May 1986, pp. 108-114.
[Gre86b]
Ned Greene, Paul S. Heckbert, ''Creating Raster Omnimax Images from Multiple Perspective
Views Using The Elliptical Weighted Average Filter'', IEEE Computer Graphics and Applica-
tions , Vol. 6, No. 6, June, 1986, pp. 21-27.
[Hec83] Paul S. Heckbert, ''Texture Mapping Polygons in Perspective'', Technical Memo No. 13, NYIT
Computer Graphics Lab, April 1983.
[Hec86] Paul S. Heckbert, ''Filtering by Repeated Integration'', Computer Graphics , (SIGGRAPH '86
Proceedings), Vol. 20, No. 4, Aug. 1986, pp. 317-321.
[Hor81] Berthold KP Horn, ''Hill Shading and the Reflectance Map'', Proc. IEEE , Vol. 69, No. 1, Jan.
1981, pp. 14-47.
[Hou83] JC Hourcade, A. Nicolas, ''Inverse Perspective Mapping in Scanline Order onto Non-Planar
Quadrilaterals'', Eurographics '83 , 1983, pp. 309-319.
[Kaj85] James T. Kajiya, ''Anisotropic Reflection Models'', Computer Graphics , (SIGGRAPH '85 Pro-
ceedings), Vol. 19, No. 3, July 1985, pp. 15-21.
[Kay79] Douglas S. Kay, Donald P. Greenberg, ''Transparency for Computer Synthesized Images'', Com-
puter Graphics , (SIGGRAPH '79 Proceedings), Vol. 13, No. 2, Aug. 1979, pp. 158-164.
-14-
[Lee85] Mark E. Lee, Richard A. Redner, Samuel P. Uselton, ''Statistically Optimized Sampling for Dis-
tributed Ray Tracing'', Computer Graphics , (SIGGRAPH '85 Proceedings), Vol. 19, No. 3, July
1985, pp. 61-67.
[Mil84] Gene S. Miller, C. Robert Hoffman, ''Illumination and Reflection Maps: Simulated Objects in
Simulated and Real Environments'', SIGGRAPH '84 Advanced Computer Graphics Animation
seminar notes , July 1984.
[Nor82] Alan Norton, Alyn P. Rockwood, Philip T. Skolmoski, ''Clamping: A Method of Antialiasing
Textured Surfaces by Bandwidth Limiting in Object Space'', Computer Graphics , (SIGGRAPH
'82 Proceedings), Vol. 16, No. 3, July 1982, pp. 1-8.
[Opp75] Alan V. Oppenheim, Ronald W. Schafer, Digital Signal Processing , Prentice-Hall, Englewood
Cliffs, NJ, 1975.
[Pae86] Alan W. Paeth, ''A Fast Algorithm for General Raster Rotation'', Graphics Interface '86 , May
1986, pp. 77-81.
[Pea85] Darwyn R. Peachey, ''Solid Texturing of Complex Surfaces'', Computer Graphics , (SIGGRAPH
'85 Proceedings), Vol. 19, No. 3, July 1985, pp. 279-286.
[Per84] Ken Perlin, ''A Unified Texture/Reflectance Model'', SIGGRAPH '84 Advanced Image Synthesis
seminar notes , July 1984.
[Per85a] Ken Perlin, ''An Image Synthesizer'', Computer Graphics , (SIGGRAPH '85 Proceedings), Vol.
19, No. 3, July 1985, pp. 287-296.
[Per85b] Ken Perlin, ''Course Notes'', SIGGRAPH '85 State of the Art in Image Synthesis seminar notes ,
July 1985.
[Rob66] Lawrence G. Roberts, Homogeneous Matrix Representation and Manipulation of N-Dimensional
Constructs , MS-1045, Lincoln Lab, Lexington, MA, July 1966.
[Rog85] David F. Rogers, Procedural Elements for Computer Graphics , McGraw-Hill, New York, 1985.
[Ros84] A. Rosenfeld, Multiresolution Image Processing and Analysis , Springer, Berlin, 1984.
[Sha82] Michael Shantz, ''Two Pass Warp Algorithm for Hardware Implementation'', Proc. SPIE, Pro-
cessing and Display of Three Dimensional Data , Vol. 367, 1982, pp. 160-164.
[Smi80] Alvy Ray Smith, ''Incremental Rendering of Textures in Perspective'', SIGGRAPH '80 Anima-
tion Graphics seminar notes , July 1980.
[Smi83] Alvy Ray Smith, ''Digital Filtering Tutorial for Computer Graphics'', parts 1 and 2, SIGGRAPH
'83 Introduction to Computer Animation seminar notes , July 1983, pp. 244-261, 262-272.
[Tan75] SL Tanimoto, Theo Pavlidis, ''A Hierarchical Data Structure for Picture Processing'', Computer
Graphics and Image Processing , Vol. 4, No. 2, June 1975, pp. 104-119.
[Wei80] Carl FR Weiman, ''Continuous Anti-Aliased Rotation and Zoom of Raster Images'', Computer
Graphics , (SIGGRAPH '80 Proceedings), Vol. 14, No. 3, July 1980, pp. 286-293.
[Whi81] Turner Whitted, ''The Causes of Aliasing in Computer Generated Images'', SIGGRAPH '81
Advanced Image Synthesis seminar notes , Aug. 1981.
[Wil83] Lance Williams, ''Pyramidal Parametrics'', Computer Graphics , (SIGGRAPH '83 Proceedings),
Vol. 17, No. 3, July 1983, pp. 1-11.