webgl绘制客厅房间的家具+座椅板凳床
生活随笔
收集整理的這篇文章主要介紹了
webgl绘制客厅房间的家具+座椅板凳床
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、開發環境說明
- 開發軟件:webstorm
- 瀏覽器 : 火狐firefox
- 編程語言:webgl
二、內容說明
1、內容要求
實現一個小型的3D客廳環境,包括對象建模、照明、攝像機設置;必須使用純的webgl來實現,不能使用其他高級圖形API,例如thress.js
- 3D建模:創建3D模型表示一個客廳,至少10件家具 - 簡單的模型動畫,應用幾何變化來支持30%家具的簡單動畫:如自動旋轉 - 渲染效果:為客廳環境設置合適的燈光效果 - 模型和場景外觀:實現合適的顏色和紋理映射,以支持視覺上吸引人的渲染輸出2、功能說明
- 實現燈光效果 - 實現層次建模 - 實現紋理貼圖:家具貼圖 - 實現按鍵交互:按鍵控制改變視角 - 實現動畫效果:地球儀在旋轉,鐘表在轉動3、操作說明
-按鍵A: 控制視角左轉 -按鍵D: 控制視角右轉 -按鍵W: 控制視角前進 -按鍵S: 控制視角后退4、程序目錄截圖
5、部分代碼展示
//創建webgl上下文 function createGLContext(CanvasId) {var canvas = document.getElementById(CanvasId); //獲取<canvas>標簽//如果沒找到<canvas>標簽,則輸出錯誤信息if (!canvas){console.log('Failed to retrieve the <canvas> element.');return;}gl = canvas.getContext("webgl"); //獲取繪圖上下文,“webgl”代表我們用webgl繪制圖形。gl.viewportWidth = canvas.clientWidth;//屏幕的寬度gl.viewportHeight = canvas.clientHeight;//屏幕的高度return gl; } //主函數 function main() {createGLContext("myCanvas");//1 、設置webgl上下文InitData(gl); //2、初始化數據 加載shader 紋理圖片 圖形數據等InitWebgl(gl);//3、初始化webgl狀態// 4、注冊響應事件:鼠標 按鍵 按鈕等{//添加鍵盤監聽事件document.addEventListener('keydown',onDocumentKeyDown,false);document.addEventListener('keyup',onDocumentKeyUp,false);}// 5 啟動定時刷新,在定時器中的draw繪制tick(); }6、運行結果圖及整個代碼下載
總結
以上是生活随笔為你收集整理的webgl绘制客厅房间的家具+座椅板凳床的全部內容,希望文章能夠幫你解決所遇到的問題。