O3D 程式設計起步

2021-05-09 11:24:11 字數 2129 閱讀 7040

1.o3djsjs

庫http://o3d.googlecode.com/svn/trunk/samples/o3djs/

js庫並放入乙個資料夾中,資料夾名可任意,但建議命名為

o3djs 。2.

引入base.js

,網頁和資料夾同級。 3.

在內加入id=

"o3d"

style="

width

:800px

;height

:600px

"/>

,其中div

標籤id

必須以o3d

開頭,width

和height

是標籤的寬和高。

當然乙個

body

內可以放多個

o3d外掛程式,如: id

="o3d1"

style="

width

:800px

;height

:600px

"/> id

="o3d2"

style="

width

:800px

;height

:600px

"/>

4. 引入需要的js庫

o3djs

.require

('o3djs.util'

);//o3d

功能庫,通常是必需的

o3djs

.require

('o3djs.rendergraph'

);//

渲染,必須引入

o3djs

.require

('o3djs.math'

);//o3d

數學庫目前

o3d有

30多個庫,關於庫的說明,將在後續章節進行詳細解說。

5. 全域性變數定義

varg_math;//

全域性數學變數,進行數學變換時需要

varg_client;//

繪圖區物件

varg_root;//

根變換物件,所有變換(

transform

)必須作為它的子孫

varg_viewinfo;//

檢視varg_pack;//

物件容器,用於儲存所有繪圖物件

6. 初始化全域性變數

clientelements

為o3d

物件,包含了所有id以

o3d開頭的

div物件(當然通常我們乙個頁面只需要乙個

o3d物件)

functioninitglobals

(clientelements

)7.

初始化繪圖上下文

functioninitcontext

()8.

頁面初始化

//通常置放於

onload

事件中,如

window.onload = init;

functioninit

()

//

釋放繪圖區,否則在退出後還會繼續繪圖,通常置放與

onunload

事件中,如

window.onunload = uninit;

functionuninit

()9.

開始編寫繪圖函式

function main()

注:o3d

中,xyz

遵守右手法則,不過大拇指反向於螢幕,即

x為橫軸,右為正,左為負,

y為縱軸,上為正,下為負,

z為垂直於螢幕,指向螢幕外為正,只想螢幕裡為負

為方便大家編寫第乙個程式,特將初始化**整理如下,只需在新增繪圖**後新增繪圖即可:

O3D 學習 如何複製乙個Transform的模型

在三維布局中,我們經常需要把乙個模型擺放多次,o3d模型載入函式 當然也可以用loader 為 o3djs.scene.loadscene clien,pack,parent,url,void callback 其中 parent 為乙個transform 現在我們來解決transform複製問題 ...

3D程式設計 Texture

include include include pragma comment lib,d3d9.lib pragma comment lib,d3dx9.lib pragma comment lib,winmm.lib define keydown vk code getasynckeystate ...

v3d程式設計 SWC

這篇部落格主要介紹v3d程式設計中的swc檔案 neuronswc point 定義乙個節點變數 point.type 節點的型別 point.x point.y point.z 訪問節點的座標 point.r 節點的半徑 point.parent 節點的父節點索引,注意 返回的是point ind...