Syntax Literate: Jurnal Ilmiah
Indonesia p–ISSN: 2541-0849 e-ISSN: 2548-1398
Vol. 7, No. 10, Oktober 2022
VISUALISASI MODEL 3D DINAMIS BERBASIS WEB MENGGUNAKAN WEBGL
Moch Fachri, Risanto
Darmawan
Universitas Krisnadwipayana, Indonesia
Email: moch.fachri@unkris.ac.id, [email protected]
Abstrak
Penelitian ini memanfaatkan
suatu graphic library yang memungkinkan
visualisasi model dimensi
3(3D) pada website. Graphic library yang dimaksud
adalah WebGL. Visualisasi objek didunia nyata
dengan foto biasa tidak mewakili
perspektif dimensi tiga dari objek
tersebut. Hal ini dikarenakan foto diambil dari satu
perspektif, kemudian memproyeksikan objek dunia nyata yang memiliki ukuran volumetrik kedalam bidang planar dalam bentuk citra
digital. Karena itulah WebGL sebagai
graphic library yang bersifat open source
dan mendukung penggunaan dalam website, dapat menjadi solusi dalam visualisasi 3D dalam bentuk aplikasi
berbasis web. Hasil yang didapat menunjukkan
tampilan visualisasi 3D
yang tertanam pada server website, dan dapat ditampilkan dalam antarmuka client yang mengakses konten
visualisasi pada server tersebut.
Kata Kunci: Visualisasi 3D; WebGL; Graphic library
Abstract
This research employs a graphic library that allows
the visualization of 3D models on the website. The graphics library in question
is WebGL. Visualization of objects in the real world with the digital image is
unable to represent the three-dimensional perspective of the object. This is
because the picture is taken from a single point of capture, then projects a
real-world object that has a volumetric size into a planar plane in the form of
a digital image. That's why WebGL as a graphic library that is open source and
supports use on websites, can be a solution in 3D visualization in the form of
web-based applications. The results obtained show the 3D visualization display
that is embedded on the website server and can be displayed in the client
interface that accesses the visualization content on the server.
Keywords: 3D Visualization; WebGL; Graphic library
Pendahuluan
Visualisasi dalam bentuk objek dimensi tiga memiliki kelebihan dalam menyajikan informasi visual suatu objek dibanding visualisasi dengan gambar dimensi dua. Kelebihan ini yaitu ada pada representasi objek dengan berbagai titik perspektif serta informasi lengkap dimensi ukuran objek yang divisualisasikan (Storz et al.,2012); (Brown et al., 2012); (Alverson et al., 2004). Hal tersebut tidak bisa didapatkan dalam visualisasi 2D (Satish and Mahendran,2019).
Visualisasi 3D masih memiliki tantangan dalam penggunaan berbasis web. Konten-konten yang ada pada website masih berfokus dengan visualisasi 2D (Speiginer and Macintyre, 2019). Untuk menjawab tantangan ini, maka telah banyak pengembang yang membuat graphic library untuk digunakan dalam tampilan website. Salah satu graphic library ini adalah WebGL yang dikembangkan oleh Khronos Group Inc (The Khronos Group Inc,2010). Dibandingkan dengan graphic library lain yang dikembangkan untuk web seperti VRML (Mi et al.,2019). X3D (Stefan et al., 2018), O3D (Boutsi et al., 2019), WebGL memiliki kelebihan dalam integrasi dengan konten web yang seamless(Saunders,2019). Selain itu bila teknologi visualisasi yang pixel based seperti canvas memiliki masalah performa pada visualisasi resolusi tinggi (Hristov and Petkov, 2019) dimana hit performa akibat WebGL tidak signifikan(Hristov and Petkov, 2019); (Liu et al.,2019). WebGL juga memiliki modularity dengan kombinasi library berbasis web lainnya (Hristov and Petkov,2019). Dengan kemampuan WebGL dalam memvisualisasikan objek 3D berbasis web, diharapkan mampu menyajikan konten pada website dengan dinamis.
Gambar 1
Proses WebGL dalam
menampilkan render objek(The Khronos Group Inc,2020)
WebGL (Web Graphics Library) adalah graphics library yang memanfaatkan API (Application Programming Interface) dari JavaScript untuk melakukan pemrosesan grafik interaktif pada konten-konten yang diakses melalui web browser (Mobeen and Feng,2012). WebGL terintegrasi sepenuhnya ke semua web browser yang mendukung HTML5. Karena itulah elemen pada WebGL dapat dicampur dengan elemen HTML serta dikombinasikan dengan bagian dari suatu halaman web. WebGL dirancang dan dikelola oleh organisasi non-profit Khronos Group Inc (The Khronos Group Inc,2020).
WebGL memiliki proses dalam menampilkan visualisasi objek dalam web seperti ditunjukkan pada gambar 1. Proses render dilakukan dalam oleh prosesor sentral dalam host tempat konten WebGL diimplementasikan dan oleh dikirim ke client berupa data-data yang dibutuhkan dalam di web browser client untuk penampilan visualisasi. Dimana proses service dari visualisasi di-handle oleh GPU (Graphic Processing Unit)(Mobeen and Feng,2012). Web browser dan GPU memproses data-data tersebut dalam shared memory yang berisi data-data 3D objek yang divisualisasikan.
Untuk visualisasi sendiri WebGL memiliki kegunaan dalam visualisasi 3D secara luas. Salah satu contoh pada visualisasi macromolecular menunjukkan kelebihan WebGL dibandingkan alat visualisasi yang umum digunakan pada bidang tersebut (Yuan et al.,2017). Pada studi tersebut, WebGL mampu menjadi solusi shared visualisation secara real-time antar banyak pemakai di tempat berbeda secara online (Yuan et al.,2017). Studi lain dalam visualisasi struktur protein menunjukkan kemampuan interaktif WebGL serta kemampuannya dalam perangkat mobile (Shi et al.,2017). WebGL juga mampu memenuhi kebutuhan visualisasi 3D skala besar. Pada studi visualisasi tampilan geografis secara 3D, WebGL dapat menangani format 3D untuk keperluan visualisasi model geografis dengan okupasi ruang penyimpanan relatif rendah dan transmisi cepat (Miao,et al.,2017). Rerata response time dalam memproses request dari user kurang dari 1 ms untuk visualisasi geografis skala sebuah kota menunjukkan potensi besar WebGL ini yang memang didesain untuk aplikasi web yang bisa diakses berbagai platform (Miao,et al.,2017). Pada studi penggunaan WebGL beserta graphics library lain untuk visualisasi polutan udara, WebGL mampu memvisualisasikan efek partikel dengan jumlah banyak tanpa ada masalah performa yang signifikan dibandingkan dengan graphics library lainnya (Liu et al.,2019).
Metode Penelitian
Tahapan pertama yang perlu dilakukan dalam penelitian ini adalah pembuatan model 3D yang akan divisualisasikan pada tampilan web. Pembuatan model 3D ini direncanakan menggunakan model berdasarkan benda-benda kesenian dan objek-objek lain yang memiliki value of interest. Contoh objek tersebut seperti vas, guci, dll. Selain itu dibutuhkan juga model lingkungan virtual sebagai latar tempat visualisasi 3D model tersebut. Dalam prosesnya dibutuhkan survey ke lapangan untuk mengambil sampel model yang akan dibuat dalam render 3D. Setelah model 3D tersebut selesai, selanjutnya pengimplementasian model tersebut pada WebGL. Agar bisa terintegrasi dengan baik, model 3D yang dibuat perlu disesuaikan dengan format yang di-support oleh WebGL.
Karena WebGL dibuat untuk kebutuhan graphic library pada web, maka disaat bersamaan perlu juga dilakukan pembuatan website sebagai wadah berjalannya aplikasi visualisasi. Sebagaimana ditunjukkan pada gambar 2, pembuatan website ini berjalan bersamaan dengan pembuatan model 3D untuk nantinya website yang dibuat akan diintegrasikan dengan WebGL. Website tempat berjalannya aplikasi visualisasi ini akan hosting secara lokal. Website yang nantinya dibuat ini oleh jasa pembuatan website perlu mensupport WebGL secara native, yang berarti website ini perlu dibuat dengan HTML5.
Gambar 2
Diagram Alir Penelitian
Keseluruhan proses tersebut selesai ketika aplikasi bisa berjalan dalam
webserver lokal tanpa
ada kendala dalam penampilan visualisasinya. Dengan menjalankan metode tersebut hingga tercapai integrasi dalam aplikasi bebasis web, konten visualisasi dapat diakses oleh pemakai dengan mengakses web server.
Dalam penelitian ini, web server tempat
meng-hosting website aplikasi dilakukan secara lokal.
Hasil dan Pembahasan
Pembuatan model 3D didapat dari hasil
3D scan objek dunia nyata.
Gambar 3 menunjukkan salah satu
objek 3D tersebut. Model 3D
pada gambar 3 menunjukkan objek guci dengan
mesh yang belum diberi
tekstur. Tekstur model tersebut diperlihatkan pada gambar 4, dimana teksur itu nantinya
akan dipasangkan pada model
di gambar 3 ketika dipergunakan dalam visualisasinya.
Gambar 3
Tampilan objek 3D dari hasil pemindaian
objek dunia nyata
Gambar 4
Data Teksur objek 3D dari hasil
pemindaian objek dunia nyata
Untuk pengintegrasian
model 3D yang akan ditampilkan
dan model lingkunan, kami meutilisasi
mesin permainan Unity3D
yang memiliki kemampuan dalam mengkompilasi hasil 3D kedalam format yang dikenali webGL dan men-generate
file HTML dasar untuk diintegrasikan dalam website yang
dibuat. Cuplikan gambar lingkungan visualisasi beserta model 3D pada
mesin permainan ditunjukkan pada gambar 5.
Gambar 5
Tampilan objek 3D dalam mesin permainan
untuk diintegrasikan dengan WebGL
Gambar 6
Tampilan menu utama website
Website untuk menampilkan WebGL sendiri ditunjukkan pada gambar 6. pada gambar 6 tersebut menunjukkan tampilan utama dari website yang diakses oleh client terhadap
web server secara lokal.
Pengguna akan dihadapkan pada menu untuk pilihan visualisasi empat objek yang berbeda. Gambar 7 menunjukkan
salah satu contoh visualisasi objek 3D. Pada contoh tersebut objek 3D beserta lingkungannya diakses menggunakan aplikasi web browser
oleh pengguna yang mengakses
server. Pengguna sebagai
client disini mengirimkan
request dalam protokol
HTTPS(Hypertext Transfer Protocol Secure) sehingga dapat ditampilkan dengan webGL.
Gambar 7
Tampilan website ketika
menampilkan visualisasi dengan WebGL
Pada pengujian
ini kami menguji beban penampilan WebGL pada kemampuan server untuk
meng-handle banyak client secara bersamaan(concurrent).
Pengujian beban concurrency
client dapat menggambarkan
penggunaan sumber daya komputasi untuk penggunaan webGL dalam visualisasi
3D. Web Server dipasang secara
lokal untuk terkoneksi dengan client. Prosesor server menggunakan
Intel® Xeon® processor E3-1275 dengan memori sebesar 32GB. Client
yang terlibat bersamaan bervariasi dari satu client hingga 500 client.
Grafik pada gambar 8 menujukkan grafik average
response time. Nilai average response time menunjukkan
kemampuan server dalam merespon client, dalam kasus ini respon
terhadap request pada protokol
jaringan HTTPS. Grafik gambar 8 menunjukkan kecendrungan peningkatan waktu respon seiring
bertambahnya client yang mengakses
secara bersamaan. Rerata waktu respon
tertinggi selama 67,34 detik.
Gambar 8
Grafik average response time server webGL terhadap penambahan jumlah
client
Gambar 9
Grafik Throughput server webGL terhadap penambahan jumlah client
Gambar 10
Grafik average transaction per second yang ditangani server webGL terhadap penambahan jumlah client
Pada grafik
throughput yang ditunjukkan pada gambar 9, penambahan jumlah client tidak menunjukkan pola. Throughput sendiri menunjukkan keberhasilan data yang berhasil diterima client dari bandwidth
yang ada pada jaringan, nilai dari throughput ini lebih dipengaruhi
kestabilan jaringan dan jumlah request dari client
terhadap server. Data throughput yang kami
dapat tidak menunjukkan masalah performansi server untuk memenuhi permintaan client
karena tidak ada trafik congestion
yang disebabkan proses dari
server. Throughput tertinggi ada pada nilai 72,88 mbps dari bandwidth jaringan gigabit ethernet 1.000 mbps
Gambar 10 adalah
rerata transaksi perdetik. Server semakin banyak meng-handle proses transaksi
data seiring bertambahnya jumlah client. Grafik pada
gambar 10 memiliki kecendrungan yang sama dengan grafik rerata
waktu respon pada gambar 8, karena semakin banyak client yang
mengakses bersamaan, maka makin banyak
transaksi data client-server yang ditangani sehingga waktu respon juga bertambah lama.
Tabel 1
Data Performansi
Halaman Web Pada Client Yang Mengakses
Jenis KPI(Key Performance Indicator) |
Rerata Performa(detik) |
Time to First Byte
(TTFB) |
1,4 |
First Contentful Paint |
2,2 |
Speed Index |
14,5 |
Largest Contentful Paint |
13,3 |
Time to
Interactive |
13,4 |
Backend Duration |
1,94 |
Adapun dari
sisi client, responsivitas
web yang diakses akan
memengaruhi pengalaman pengguna dalam menikmati visualisasi 3D yang ditampilkan. Tabel 1 menunjukkan key performance indicator (KPI) dari webserver pada sisi client.
TTFB (Time to First Byte) adalah jumlah total waktu dari awal permintaan
hingga saat server menerima byte pertama data
untuk merespon. First Contentful Paint menunjukkan seberapa cepat konten seperti teks atau gambar
ditampilkan ke halaman antar muka
client. Speed Index menunjukkan seberapa cepat konten halaman client terlihat terisi sepenuhnya. Largest Contentful
Paint menunjukkan berapa
lama waktu yang dibutuhkan elemen konten terbesar
untuk ditampilkan di halaman halaman antar muka client. Time
to Interactive Berapa lama waktu
yang dibutuhkan halaman antar muka client untuk bisa berinteraksi
dengan client. Backend Duration adalah waktu yang dibutuhkan server untuk menghasilkan respons awal. Dari data yang didapatkan terlihat bahwa waktu Largest Contentful Paint
mendominasi waktu yang dibutuhkan agar website yang ditampilkan
dihalaman client sudah
dapat berinteraksi dengan client sebagai pengguna. Largest Contentful
Paint dalam website yang diakses client tidak lain adalah konten webGL
yang merupakan konten terbesar dalam kasus layanan web server ini. Dari rerata waktu Speed Index selama
14,5 detik, webGL menghabiskan rerata waktu untuk penampilan
sebanyak 13,3 detik.
Kesimpulan
Eksperimentasi yang kami lakukan mendemonstrasikan kemampuan WebGL untuk keperluan visualisasi 3D berbasis web. WebGL mampu
menyajikan konten pada website
dengan dinamis berkat visualisasi 3D. Visualisasi 3D yang memiliki keunggulan pada representasi objek dengan berbagai
titik perspektif serta informasi lengkap dimensi ukuran objek yang divisualisasikan bila dibandingkan dengan visualisasi 2D pada citra
digital. Meskipun begitu,
pada studi kami terlihat bahwa konten visualisasi
3D dengan WebGL cukup membebani performa web server
dan juga mendominasi ukuran
konten dari suatu web ketika konten tersebut dimuat oleh client. Penggunaan visualisasi
3D dengan WebGL perlu memerhatikan kemampuan komputasi yang dimiliki web
server serta prediksi concurrency
client yang akan mengakses
layanan web server tersebut.
BIBLIOGRAFI
Alverson, G., Eulisse, G.,
Muzaffar, S., Osborne, I., Taylor, L., & Tuura,
L. A. (2004). IGUANA: A high-performance 2D and 3D visualisation
system. Nuclear Instruments and Methods in Physics Research Section A:
Accelerators, Spectrometers, Detectors and Associated Equipment, 534(1–2),
143–146. https://doi.org/10.1016/j.nima.2004.07.036
Boutsi, A.-M., Ioannidis, C., & Soile, S. (2019). INTERACTIVE ONLINE VISUALIZATION OF
COMPLEX 3D GEOMETRIES. ISPRS - International Archives of the Photogrammetry,
Remote Sensing and Spatial Information Sciences, XLII-2/W9, 173–180. https://doi.org/10.5194/isprs-archives-XLII-2-W9-173-2019
Brown, P. M., Hamilton, N. M., & Denison, A.
R. (2012). A novel 3D stereoscopic anatomy tutorial. The Clinical Teacher,
9(1), 50–53. https://doi.org/10.1111/j.1743-498X.2011.00488.x
Hristov, P., & Petkov,
E. (2019). Study of 3D Technologies for Web. p. 6. in Conference: Digital Presentation
and Preservation of Cultural and Scientific HeritageAt:
Bulgaria Volume: 9, Oct.2019.
Liu, D., Peng, J., Wang, Y., Huang, M., He, Q.,
Yan, Y., Ma, B., Yue, C., & Xie, Y. (2019).
Implementation of interactive three-dimensional visualization of air pollutants
using WebGL. Environmental Modelling & Software, 114, 188–194. https://doi.org/10.1016/j.envsoft.2019.01.019
Mi, Q., Zhai, Z.,
Wang, J., Cai, Z., Cheng, L., & Wu, M. (2019). VRML-Based Investigation of
Binary Compression Technology. 2019 14th IEEE Conference on Industrial
Electronics and Applications (ICIEA), 2114–2117. https://doi.org/10.1109/ICIEA.2019.8834151
Miao, R., Song, J., & Zhu, Y. (2017). 3D
geographic scenes visualization based on WebGL. 2017 6th International
Conference on Agro-Geoinformatics, 1–6. https://doi.org/10.1109/Agro-Geoinformatics.2017.8046999
Mobeen, M. M., & Feng, L. (2012). High-Performance
Volume Rendering on the Ubiquitous WebGL Platform. 2012 IEEE 14th International
Conference on High Performance Computing and Communication & 2012 IEEE 9th
International Conference on Embedded Software and Systems, 381–388. https://doi.org/10.1109/HPCC.2012.58
Satish, C. J., & Mahendran, A. (2019). The
effect of 3D visualization on mainframe application maintenance: A controlled
experiment. Journal of King Saud University - Computer and Information
Sciences, 31(3), 403–414. https://doi.org/10.1016/j.jksuci.2017.03.003
Saunders, B. V. (n.d.). Complex Variables, Mesh
Generation, and 3D Web Graphics: Research and Technology Behind the
Visualizations in the NIST Digital Library of Mathematical Functions. 12.
Shi, M., Gao, J., & Zhang, M. Q. (2017).
Web3DMol: Interactive protein structure visualization based on WebGL. Nucleic
Acids Research, 45(W1), W523–W527. https://doi.org/10.1093/nar/gkx383
SIGGRAPH LA 2010—The Khronos
Group Inc. (2010). Retrieved September 1, 2020, from https://www.khronos.org/events/siggraph-la-2010/
Stefan, L., Hermon, S., & Faka, M. (2018). Prototyping 3D Virtual Learning
Environments with X3D-based Content and Visualization Tools. 9, 15.
Storz, P., Buess, G.
F., Kunert, W., & Kirschniak,
A. (2012). 3D HD versus 2D HD: Surgical task efficiency in standardised
phantom tasks. Surgical Endoscopy, 26(5), 1454–1460. https://doi.org/10.1007/s00464-011-2055-9
WebGL Overview—The Khronos
Group Inc. (2020). Retrieved September 1, 2020, from https://www.khronos.org/webgl/
Yuan, S., Chan, H. C. S., & Hu, Z. (2017).
Implementing WebGL and HTML5 in Macromolecular Visualization and Modern
Computer-Aided Drug Design. Trends in Biotechnology, 35(6), 559–571.
https://doi.org/10.1016/j.tibtech.2017.03.009
Copyright holder: Moch Fachri,
Risanto Darmawan (2022) |
First publication right: Syntax Literate: Jurnal Ilmiah
Indonesia |
This article is licensed
under: |