- 使用SceneGraph, 所有translation, rotation, scale都是基於局部的.
- 一一關聯方式:Spatial(和Node同級)-Mesh(此兩者可由assetManager加載一個obj而一次性實現)-Material-Texture(可選)
- assetManager可以管理所有的textures, materials…使用相關的load函數即可.
- AnalogListener會檢測按鍵時間的長短(以0-9標記), ActionListener僅檢測『有沒有按下鍵”.
- Texture和Color都是由Material定義的(setTexture(), setColor(), setBlendeMode())…
- jMonkey會默認定義mipmap.
- Material的SetTexture方法中傳入的『Name”變量是在Material的j3md文件中定義的.相關信息可以查看jMonkey官方教程.
Author Archives: 凱絲緹爾
jMonkey技術雜記
Ubuntu下安裝Node.js的方法
sudo apt-get update
sudo apt-get update sudo apt-get install build-essential
sudo apt-get install libssl-dev
sudo apt-get install g++ curl libssl-dev apache2-utils
sudo apt-get install git-core
git clone git://github.com/ry/node.git
cd node
./configure
make
sudo make install
在Mac OS系統中使用Ogre3D
一 編譯Ogre3D源代碼
- 注:從Source編譯Ogre3D請參考Prerequistes與CMake Quick Start Guide這兩篇文章.
- 首先, 下載並解壓Ogre3D的Mac版源代碼.
- 下載並解壓OSX Dependencies至Ogre3D源代碼文件夾, 保證它與OgreMain在同一級別.
- 下載並安裝Cg.
- 下載並編譯OIS, 如果之後希望用DEBUG方式編譯Ogre3D項目, 則此時也使用DEBUG方式編譯OIS. 在OIS/Mac/XCode-2.2/build/Debug位置會出現OIS.framework, 將其拷貝至/Library/Frameworks.
GLSL雜記
- 使用的矩陣乘法為左乘(即點/向量在最右側,向左依次與一系列變換矩陣相乘)
- 使用的向量為縱向量
- 在GLSL中可以直接使用『*』表示向量/矩陣乘法
- 可以使用Constructor vec3()來做vec4至vec3的Type-Casting
- 變量可以在需要的時候再被聲明(同C++, 不同C)
- 計算純粹表達方向的向量時需要使用Built-In函數normalize().
- 有漫反射才有鏡面反射; 若無漫反射, 則意味著入射光的反向向量與頂點法線夾角大於90度, 這樣是不會有鏡面反射光向量的.
- 一些Varying類型變量必須在Vertex Shader中被定義以傳遞至Fragment Shader, 如 gl_Position.
- 大多數Fragment Shader僅計算每個像素的顏色, 而使用OpenGL光柵階段得出的深度值.
- Vertex Shader的out變量和Fragment Shader的in變量必須一致(變量名, 類型).
- vec2/3/4類型的成員均為有符號浮點類型.
GLSL修飾符小結
Uniform
- 僅可以在Shader外改變取值, 在Shader中不能被改寫
- 適合於定義那些取值不常需要改變的變量
- Uniform變量被Vertex Shader和Fragment Shader所共享
- 除非函數有Sampler類型的參數, 否則一個Uniform變量被聲明後必須被使用
- 所有類型的變量和數組均可被Uniform Qualifiers修飾
In
- 適合於定義向Vertex Shader輸入的, 變化頻率比較高的變量.
- 對於Vertex Shader, 不可以接受布爾標量/向量, 結構, 或Sampler. 其目的在於保持在變量值被反復修改情況下圖形硬件的High-Performance.
如何成為一名iPhone App Developer:使用iPhone或Simulator運行程序與發布
一、在iPhone Simulator上運行程序所需的準備
硬件準備:
- 一台可以安裝Snow Leopard操作系統的計算機,一般為Mac. PC僅存在理論上的可能.
軟件準備:
- 在developer.apple.com 註冊一個開髮用帳號.
- 在該網站下載iOS SDK(即Xcode開發平台)的最新版,目前是for iOS 4.1,最近apple的移動操作系統更新頻繁,而且每一個新特性都是至關重要的,如4.1的Game Center.
凱絲緹爾的iPhone游戲開發教程(二):[轉+評注]Cocos2D快速編程指南
XCode使用技巧
1. 在Terminal中輸入
defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions ‘{“ORGANIZATIONNAME” = “DLMW – Group”;“FULLUSERNAME” = “Tingshuo \”Marcel\“ WANG”;}’
以修改XCode文件頭部的創建者和所屬公司.
2. 三指觸摸屏上滾,切換至當前類.h文件,反之切換至相應.m文件.
3. 『Warning:…may not respond to …』有可能是因為某函數沒有顯示聲明.
4. 使用低版本Cocos2D導致的Debugger過期問題解決方案:(Debugger位置顯示Base SDK Missing)
Project->Edit Project Setting->General->Base SDK for All Configurations->選擇當前版本Debugger.
5. 『Code Sign Error:a valid provisioning file…』問題解決方案:Resources->Info.plist->Bundle identifier->修改使其符合註冊的Bundle identifier,目前為marcel.com.DLMW.*
6. 注意:Simulator大小寫不敏感,而Device是大小寫敏感的。該問題會導致錯誤『Couldn’t add image:imagename.png in CCTextureCache』.
凱絲緹爾的iPhone游戲開發教程(一):Accelerated Objective-C
本文首發於DLMW – Group所有的iPhone游戲開發工作室Google Docs, 原為Private文檔. 其本意在於使用一個簡潔的教程使工作室的其它成員能夠迅速掌握這門開發語言.
“在信息時代, 客觀障礙已不復存在, 所謂障礙都是主觀上的. 如果你想研發什麼新的技術, 你不需要幾百萬美元的資金, 你只需要在冰箱裡放滿pizza和可樂, 再有一台便宜的計算機, 和與之獻身的決心, 你即可擁有任何你想擁有的編程深度.”
-John Carmack-
是的. 對於今天的獨立游戲開發者而言, 這是一個最好的時代, 這還是一個最好的時代.