原创 Windows下的OSG環境配置注意事項

1 前提   本文要配置的osg版本是3.1.4,目標平臺是Windows。    2 遇到問題 運行osg程序提示找不到zlib.dll 用osgViewer加載cow.osg模型,按h提示缺失字體插件,按c提示缺失jpg插件不能截

原创 Hello Wrold(2.5) - - Typescript

本來Hello World打算3篇寫完的,但是中途又瞭解到還有一個WebGL庫叫Babylon.js也很好用,就跑去試了下。 結果好不好用沒感覺出來,倒是因爲這個庫推薦用Typescript來寫,到是感覺這個東西太好用了,有寫AS3的感覺

原创 從C++到javascript(1)——變量、函數、運算符、流程控制

本文是我學習javascript的筆記,可以給使用c++的人學習js作一個參考。 鑑於工作需要和兼容性,所學習的javascript內容大部分來自於ES5版本。 javascript是什麼 如何開發 運行環境 調試 程序入口 代碼組

原创 從c++到javascript(2)——作爲數據的對象

js並不是原生支持面向對象的,面向對象在js中用離散、繁複的語法表示出來。 我覺得如果把單個對象從整個對象模型中拿出來討論,可以讓人更容易接觸js中對象的本質,即一種有行爲的數據結構。 單個對象 對象字面量 對象是什麼 屬性與方法

原创 從c++到javascript(3)——原型鏈圖

Simula 是一種建模語言,通常被認爲是第一個面向對象 (Object-oriented, OO) 的語言,隨後出現的此類語言包括 Smalltalk、C++、Java 和 C#。那時,大多數面向對象的語言是通過類 來定義的。後來,S

原创 Hello World(2) - - 加載紋理

本文可以做什麼 添加地面 添加輔助座標軸 座標軸的顏色 給地面添加紋理 調整紋理映射 設置紋理包裹 背面的紋理 0. 本文可以做什麼 在前一節的基礎上,添加了有紋理的地面 、輔助座標。 1. 添加地面 在init()

原创 簡單的場景組織

three.js官方例子裏有個看起來效果不錯,其實非常簡單的例子場景層次。 名字意思是場景層級,也就是場景結構。 一般三維場景都是樹形結構組織起來的。 一個父節點可以有多個子節點,這樣遞歸起來自然就有了一顆場景樹。 官方的例子裏用隨機

原创 Three.js - - Hello World(1)

這並不是算一個教程,更像是一個筆記,筆者水平有限;如果讀起來感覺不對應該廣泛查詢資料。 關於Threejs 如何學習 本文做了什麼 開始 構鍵html頁面 加入js文件 全局變量 初始化 創建場景 創建相機 創建渲染器 創建三維物體

原创 智能指針作參數

1. 遇到問題 今天用OSG寫了一個類,結構如下: // a.h class A:... { ... // 給參數geode賦值 void createGeode(osg::ref_ptr<osg::Geode>

原创 Hello World(3) - - 要有光

這是Hello World的最後一篇,給場景加入了簡單的燈光。 本文做了什麼 加入燈光 添加光照模型所用的材質 關於光照模型 前路 0. 本文做了什麼 給場景加入了燈光。 1. 加入燈光 在Project類的構造函數里加入 //