禁止glsl編譯器優化代碼
❶ glsl語言和c語言的區別·也就是不同的地方有哪些,明確點。謝謝嘍
變數
GLSL的變數命名方式與C語言類似。變數的名稱可以使用字母,數字以及下劃線,但變數名不能以數字開頭,還有變數名不能以gl_作為前綴,這個是GLSL保留的前綴,用於GLSL的內部變數。當然還有一些GLSL保留的名稱是不能夠作為變數的名稱的。
基本類型
除了布爾型,整型,浮點型基本類型外,GLSL還引入了一些在著色器中經常用到的類型作為基本類型。這些基本類型都可以作為結構體內部的類型。如下表:
類型 描述
void 跟C語言的void類似,表示空類型。作為函數的返回類型,表示這個函數不返回值。
bool 布爾類型,可以是true 和false,以及可以產生布爾型的表達式。
int 整型 代表至少包含16位的有符號的整數。可以是十進制的,十六進制的,八進制的。
float 浮點型
bvec2 包含2個布爾成分的向量
bvec3 包含3個布爾成分的向量
bvec4 包含4個布爾成分的向量
ivec2 包含2個整型成分的向量
ivec3 包含3個整型成分的向量
ivec4 包含4個整型成分的向量
mat2 或者 mat2x2 2×2的浮點數矩陣類型
mat3或者mat3x3 3×3的浮點數矩陣類型
mat4x4 4×4的浮點矩陣
mat2x3 2列3行的浮點矩陣(OpenGL的矩陣是列主順序的)
mat2x4 2列4行的浮點矩陣
mat3x2 3列2行的浮點矩陣
mat3x4 3列4行的浮點矩陣
mat4x2 4列2行的浮點矩陣
mat4x3 4列3行的浮點矩陣
sampler1D 用於內建的紋理函數中引用指定的1D紋理的句柄。只可以作為一致變數或者函數參數使用
sampler2D 二維紋理句柄
sampler3D 三維紋理句柄
samplerCube cube map紋理句柄
sampler1DShadow 一維深度紋理句柄
sampler2DShadow 二維深度紋理句柄
結構體
結構體
結構體可以組合基本類型和數組來形成用戶自定義的類型。在定義一個結構體的同時,你可以定義一個結構體實例。或者後面再定義。
struct surface {float indexOfRefraction;
vec3 color;float turbulence;
} mySurface;
surface secondeSurface;
你可以通過=為結構體賦值,或者使用 ==,!=來判斷兩個結構體是否相等。
mySurface = secondSurface;
mySurface == secondSurface;
只有結構體中的每個成分都相等,那麼這兩個結構體才是相等的。訪問結構體的內部成員使用. 來訪問。
vec3 color = mySurface.color + secondSurface.color;
結構體至少包含一個成員。固定大小的數組也可以被包含在結構體中。GLSL的結構體不支持嵌套定義。只有預先聲明的結構體可以嵌套其中。
struct myStruct {
vec3 points[3]; //固定大小的數組是合法的
surface surf; //可以,之前已經定義了
struct velocity { //不合法float speed;
vec3 direction;
} velo;
subSurface sub; //不合法,沒有預先聲明;};struct subSurface { int id;
};
數組
GLSL中只可以使用一維的數組。數組的類型可以是一切基本類型或者結構體。下面的幾種數組聲明是合法的:
surface mySurfaces[];
vec4 lightPositions[8];
vec4 lightPos[] = light www.hnne.com Positions;const int numSurfaces = 5;
surface myFiveSurfaces[numSurfaces];float[5] values;
指定顯示大小的數組可以作為函數的參數或者使返回值,也可以作為結構體的成員.數組類型內建了一個length()函數,可以返回數組的長度。
lightPositions.length() //返回數組的大小 8
最後,你不能定義數組的數組。
修飾符
變數的聲明可以使用如下的修飾符。
修飾符 描述
const 常量值必須在聲明是初始化。它是只讀的不可修改的。
attribute 表示只讀的頂點數據,只用在頂點著色器中。數據來自當前的頂點狀態或者頂點數組。它必須是全局范圍聲明的,不能再函數內部。一個attribute可以是浮點數類型的標量,向量,或者矩陣。不可以是數組或則結構體
uniform 一致變數。在著色器執行期間一致變數的值是不變的。與const常量不同的是,這個值在編譯時期是未知的是由著色器外部初始化的。一致變數在頂點著色器和片段著色器之間是共享的。它也只能在全局范圍進行聲明。
varying 頂點著色器的輸出。例如顏色或者紋理坐標,(插值後的數據)作為片段著色器的只讀輸入數據。必須是全局范圍聲明的全局變數。可以是浮點數類型的標量,向量,矩陣。不能是數組或者結構體。
centorid varying 在沒有多重采樣的情況下,與varying是一樣的意思。在多重采樣時,centorid varying在光柵化的圖形內部進行求值而不是在片段中心的固定位置求值。
invariant (不變數)用於表示頂點著色器的輸出和任何匹配片段著色器的輸入,在不同的著色器中計算產生的值必須是一致的。所有的數據流和控制流,寫入一個invariant變數的是一致的。編譯器為了保證結果是完全一致的,需要放棄那些可能會導致不一致值的潛在的優化。除非必要,不要使用這個修飾符。在多通道渲染中避免z-fighting可能會使用到。
in 用在函數的參數中,表示這個參數是輸入的,在函數中改變這個值,並不會影響對調用的函數產生副作用。(相當於C語言的傳值),這個是函數參數默認的修飾符
out 用在函數的參數中,表示該參數是輸出參數,值是會改變的。
inout 用在函數的參數,表示這個參數即是輸入參數也是輸出參數。
內置變數
內置變數可以與固定函數功能進行交互。在使用前不需要聲明。頂點著色器可用的內置變數如下表:
名稱 類型 描述
gl_Color vec4 輸入屬性-表示頂點的主顏色
gl_SecondaryColor vec4 輸入屬性-表示頂點的輔助顏色
gl_Normal vec3 輸入屬性-表示頂點的法線值
gl_Vertex vec4 輸入屬性-表示物體空間的頂點位置
gl_MultiTexCoordn vec4 輸入屬性-表示頂點的第n個紋理的坐標
gl_FogCoord float 輸入屬性-表示頂點的霧坐標
gl_Position vec4 輸出屬性-變換後的頂點的位置,用於後面的固定的裁剪等操作。所有的頂點著色器都必須寫這個值。
gl_ClipVertex vec4 輸出坐標,用於用戶裁剪平面的裁剪
gl_PointSize float 點的大小
gl_FrontColor vec4 正面的主顏色的varying輸出
gl_BackColor vec4 背面主顏色的varying輸出
gl_FrontSecondaryColor vec4 正面的輔助顏色的varying輸出
gl_BackSecondaryColor vec4 背面的輔助顏色的varying輸出
gl_TexCoord[] vec4 紋理坐標的數組varying輸出
gl_FogFragCoord float 霧坐標的varying輸出
片段著色器的內置變數如下表:
名稱 類型 描述
gl_Color vec4 包含主顏色的插值只讀輸入
gl_SecondaryColor vec4 包含輔助顏色的插值只讀輸入
gl_TexCoord[] vec4 包含紋理坐標數組的插值只讀輸入
gl_FogFragCoord float 包含霧坐標的插值只讀輸入
gl_FragCoord vec4 只讀輸入,窗口的x,y,z和1/w
gl_FrontFacing bool 只讀輸入,如果是窗口正面圖元的一部分,則這個值為true
gl_PointCoord vec2 點精靈的二維空間坐標范圍在(0.0, 0.0)到(1.0, 1.0)之間,僅用於點圖元和點精靈開啟的情況下。
gl_FragData[] vec4 使用glDrawBuffers輸出的數據數組。不能與gl_FragColor結合使用。
gl_FragColor vec4 輸出的顏色用於隨後的像素操作
gl_FragDepth float 輸出的深度用於隨後的像素操作,如果這個值沒有被寫,則使用固定功能管線的深度值代替
表達式
操作符
GLSL語言的操作符與C語言相似。如下表(操作符的優先順序從高到低排列)
操作符 描述
() 用於表達式組合,函數調用,構造
[] 數組下標,向量或矩陣的選擇器
. 結構體和向量的成員選擇
++ – 前綴或後綴的自增自減操作符
+ – ! 一元操作符,表示正 負 邏輯非
* / 乘 除操作符
+ - 二元操作符 表示加 減操作
<> <= >= == != 小於,大於,小於等於, 大於等於,等於,不等於 判斷符
&& || ^^ 邏輯與 ,或, 異或
?: 條件判斷符
= += –= *= /= 賦值操作符
, 表示序列
像 求地址的& 和 解引用的 * 操作符不再GLSL中出現,因為GLSL不能直接操作地址。類型轉換操作也是不允許的。 位操作符(&,|,^,~, <<, >> ,&=, |=, ^=, <<=, >>=)是GLSL保留的操作符,將來可能會被使用。還有求模操作(%,%=)也是保留的。
數組訪問
數組的下標從0開始。合理的范圍是[0, size - 1]。跟C語言一樣。如果數組訪問越界了,那行為是未定義的。如果著色器的編譯器在編譯時知道數組訪問越界了,就會提示編譯失敗。
vec4 myColor, ambient, diffuse[6], specular[6];
myColor = ambient + diffuse[4] + specular[4];
構造函數
構造函數可以用於初始化包含多個成員的變數,包括數組和結構體。構造函數也可以用在表達式中。調用方式如下:
vec3 myNormal = vec3(1.0, 1.0, 1.0);
greenTint = myColor + vec3(0.0, 1.0, 0.0);
ivec4 myColor = ivec4(255);
還可以使用混合標量和向量的方式來構造,只要你的元素足以填滿該向量。
vec4 color = vec4(1.0, vec2(0.0, 1.0), 1.0);
vec3 v = vec3(1.0, 10.0, 1.0);
vec3 v1 = vec3(v);
❷ 為什麼cpu用頻率gpu用算力
CPU的浮點運算能力比GPU差了
CPU單個核心浮點運算能力比GPU強多了
在不考慮 指令集 緩存 優化的情況下 你光看主頻就知道了
GPU核心最高也就1Ghz左右
CPU核心卻要3-4Ghz
區別是CPU最多也就十幾個核心
GPU動輒幾百上千個核心
更別說CPU核心指令集更全面 GPU核心基本只有SIMD指令(因為GPU主要是用於圖形處理 向量運算遠比標量運算多 並且對CPU來說多一套指令運算單元 就是幾個核心的成本 對GPU來說就是多幾百上千個核心的成本)
CPU處理一次標量乘法只要一次標量乘法指謹畝令
GPU卻把標量先轉換成向量 然後用一條SIMD指令
CPU每個核心有獨立的緩存 GPU基本是所有核心共享一個緩存(GPU主要做圖形渲染 所有核心都執行同一份指令 獲取同樣的數祥猜森據 CPU主要是執行多個串列任務 每個核心可以處理不同的任務 從不同地方獲取不同的數據)
所以CPU單核性能秒GPU單核十條街
CPU每個核心都有獨立的優化 分支預測 亂序執行之類的
GPU亂序執兆孝行可以有 因為所有核心都干一樣的事情 可以共享一份指令 不需要獨立的亂序執行 (不過一般不會有 因為這個功能可以直接放到編譯器中實現 因為GPU的開發語言少 基本只有GLSL和HLSL 編譯器是廠商自己開發的 不像CPU那樣 開發語言多如牛毛 各種編譯器五花八門 指令集大相徑庭 所以才迫切需求這種動態的亂序執行優化)
分支預測肯定不會有 成本上來說分支預測不能共享 每個核心都多一個分支預測的邏輯單元成本太大
關鍵是根本就不需要 GPU程序一般都很短 本來就可以全部裝載到高速緩存中 其次是對於GPU處理的任務而言 分支預測也無意義
❸ NO.15 - OpenGL ES 使用GLSL載入圖片
利用GLSL自定義的著色去載入一張圖片,效果圖如下
整體流程圖如下
流程中主要分為4個模塊
項目的創建及自定義視圖創建等,這里不作過多說明,主要說說著色器文件是如何創建的
自定義的著色器本質上其實是一個字元串,且在Xcode中編寫時,是沒有任何提示的,所以需要格外仔細!
頂點著色器
片與著色器
初始化主要分為4部分
setupLayer函數:創建圖層
layer主要是用於顯示OpenGL ES繪制內容的載體
setupContext函數:創建上下文
上下文主要是用於保存 OpenGL ES 中的狀態,是一個狀態機,不論是 GLKit 還是 GLSL ,都是需要 context 的,主要創建流程如下
deleteRenderAndFrameBuffer函數:清理緩存區
清理緩沖區的目的在於清除殘留數據,防止殘留數據對本次操作造成影響
需要清空兩個緩存區: RenderBuffer和FrameBuffer
設置RenderBUffe & FrameBuffer
首先了解一下RenderBuffer和FrameBuffer
兩者間的關系如下圖:
setupRenderBuffer函數
主要是創建 RenderBufferID 並申請標識符,將標識符綁定至 GL_RENDERBUFFER ,並且將 layer 的相關存儲綁定到 RenderBuffer 對象
setupFrameBuffer函數
主要是創建 FrameBuffer 的ID並申請標識符,將標識符綁定至 GL_FRAMEBUFFER ,然後將 RenderBuffer 通過 glFramebufferRenderbuffer 函數綁定到 FrameBuffer 中的 GL_COLOR_ATTACHMENT0 附著點上,通過 FrameBuffer 來管理 RenderBuffer , RenderBuffer 存儲相關數據到相應緩存區
繪制的整體流程圖所示:
主要包含5部分
初始化
需要注行消意的是,需要將視口的大小設置為與屏幕大小一致
GLSL自定義著色器載入
自定義著色器的載入主要分為以下幾步
讀取自定義著色器
讀取自定義著色器文件的前提是需要獲得文件的路徑,將其傳入 loadShaders 函數進行載入
loadShaders函數 & compileShader函數
loadShaders 函數沒帶尺:分別將頂點著色器和片元著色器編譯完成後,並返回著色器對應的 ID ,然後通過 glAttachShader 函數將頂點和片元的 shader 分別附著到 program 上,然後釋放不再使用的 shader ,並賦值給全局的 program
鏈接program
使用program
通過 glUseProgram 函數來使用鏈接成功的 program
頂點數據設置及處理
通過數組存儲頂點數據,並將頂點坐標和紋理坐標讀取到自定義的頂點著色器中
分為以下三步
開辟頂點緩存區
開啟頂點緩存區,這部分其實跟之前使用 GLKit 框架開啟緩存區步驟是一致的,沒什麼變化,有以下四步
打開頂點/片元的通道
在 iOS 中, attribute 通道默認是關閉的,需要手動開啟,而數據有頂點坐標和紋理坐標兩種,需要分別開啟兩次,這里的開啟與 GLKit 框架中是有所區別枯高的,
使用自定義著色器打開通道,一般有以下三步(相對於 GLKit 而言,只多了一個獲取入口的步驟,後面兩步是沒有多大變化的)
載入紋理
這部分的內容主要是將 png/jpg 圖片解壓成點陣圖,並通過自定義著色器讀取紋理每個像素點的紋素,包含兩部分
setupTexture函數
將 png/jpg 解壓成點陣圖,載入成紋理數據,其中紋理的解壓縮使用的都是 CoreGraphic ,載入紋理的流程如下圖
設置紋理采樣器
主要是獲取紋理中對應像素點的的顏色值,即紋素
繪制
開始繪制,存儲到 RenderBuffer ,從 RenderBuffer 將圖片顯示到屏幕上
*調用 glDrawArrays 函數指定圖元連接方式進行繪制
❹ GPU編程常識求助:cg、opencv、opengl、cuda、glsl等
你好,
首先,cg,opengl,glsl都是跟計算機圖形有關的。cg基本是做渲染的,opengl是一個開源圖形庫,和微軟的direct3D是一樣的。glsl是shading language ,專門用來寫shader的,在GPGPU( general purpose GPU)概念出來之前,好多人用glsl來做並行計算。
其次,CUDA和OpenCL是兩個專門做GPU運算的庫。CUDA非常好用,它有自己的NVCC編譯器,和各個系統都兼容很好,但是僅限於用於NVIDIA自己的顯卡。OpenCL雖然任何顯卡都可以使用,但是它的GPU的代碼要放到單獨的一個文本文件中編譯,操作上要比CUDA要復雜。
最後,其實CUDA和OpenCL學那個多一樣,因為並行運算的思想是一樣的。推薦你兩本書:
Programming Massively Parallel Processors 2nd(入門)
CUDA Programming A Developer-'s Guide to Parallel Computing with GPUs (高級一點)
謝謝,望採納
❺ 如圖,這是vray材質,中文具體名稱是什麼
其實單詞可以分開看glsl是OpenGL著色語言(OpenGL Shading Language)是用來在OpenGL中著色編程的語言,網上搜索了下,據說是用來實時渲染用的。
找了好久,才把官方幫助網址找到了http://help.chaosgroup.com/vray/help/300R1/
3.0的沒有中文的。下面材質欄目租岩歷里有解釋http://help.chaosgroup.com/vray/help/300R1/vrayglsltex.htm
沒事你慢慢看下吧,用網路翻譯了下,大致看下吧,呵呵
在VRayGLSLTex紋理貼圖可以用來載入GLSL著色器(.frag,.glsl文件)的V-Ray預編譯的片段著色器(.pfrag文件)或精神穆勒項目(.xmsl文件),並直接採用V-Ray渲染他們。如果將著色文件描述了一種材料(而不是一個紋理),它可以通過分配的紋理映射到的VRayLightMtl材料或者僅僅通過使用VRayGLSLMtl材料的色彩時隙中呈現。
如果心理廠項目文件中包含材料定義節點或者GLSL著色器文件描述已連接BRDFs的VRayGLSLTex紋理貼圖不會評價材料,並會呈現黑色的著色器。在這種情況下,VRayGLSLMtl材料應棗胡該被使用。既VRayGLSLMtl和VRayGLSLTex共享相同的用戶界面。
該紋理映射和材料是所述的V-Ray實施GLSL支持的第一階段。在這個版本中,著色器編譯成位元組代碼的軟體的虛擬機,然後將其進行解釋。由於這種運行時解釋,GLSL著色器可能有點慢渲染比用C
++編寫的V-Ray著色器。在未來的V-Ray版本,著色器弊搜將直接編譯成機器碼更快的渲染。
❻ 游戲開發是做什麼的
首先非常感謝在這里能為你解答這個問題,讓我帶領你們一起走進這個問題,現在讓我們一起探討一下。
一般脊漏的大型 游戲 開發絕不是用某種語言這么單純的問題。一個大型 游戲 的開發需要龐大的團隊使用各種各樣的語言和工具來完成。總結一下主要有C/C++,匯編語言,著色器語言,腳本語言,高效的開發語言C#或java。
首先一般的 游戲 開發架構(Windows)從底到頂一般是Direct X?—— 游戲 引擎—— 游戲 。
Direct X?相當於所有顯卡的一個統一介面,為 游戲 提供一個利用硬體渲染的編程模型,但Direct X?介面為了追求高性能功能非常單純和鬆散,不利於 游戲 的高效開發。此時就需要根據 游戲 特點對其進行適當的取捨和封裝,實現一組更高抽象的 游戲 開發介面和框架,可盯山以理解成 游戲 引擎中的圖形引擎。這部分的開發一般使用的語言是C/C++和少量的匯編語言。
至於 游戲 引擎是一個非常復雜的功能聚合體,所有的 游戲 開發工作都是在之上進行的。包括圖形引擎,音頻引擎,碰撞引擎,藝術資源管理,腳本引擎等等。到此為止幾乎還沒有涉及到你所說的 游戲 開發。
首先在圖形渲染方面,例如光照陰影處理等等,現代顯卡一般是通過可編程著色器實現對圖形效果的控制,所採用的編程語言一般是一些著色器語言,例如Direct X?採用的HLSL,OpenGL使用的GLSL等等,語法類似C語言, 游戲 執行時被編譯載入到顯卡上,在實現硬體渲染速度的同時又實現了編程的靈活性。
大型 游戲 開發的絕大部分工作其實都是在編寫 游戲 腳本,腳本是大型 游戲 得以如此高速開發和發布的主要原因。腳本化的凱野中開發讓 游戲 開發擺脫了硬編碼的種種弊端,讓 游戲 內容可以輕易的修改和調試。 游戲 故事如何進行,各種事件如何觸發,何時該播放哪些聲音或動畫,如何使用藝術團隊創作的資源,這些都是在腳本中編寫的,可以說引擎決定了 游戲 能做什麼,而腳本才真正決定了 游戲 做了什麼。一些著名的引擎如虛幻系列都有自己獨特的腳本語言,其他一些引擎可能會採用一些第三方的腳本語言,比如比較流行的Lua。所以開發一個新 游戲 最簡單的情形就是沿用之前的引擎,創作藝術資源,然後編寫腳本將其組織成一個 游戲 ,幾乎不需要什麼底層的編程語言。
開發環境方面, 游戲 團隊內部可能會使用一些開發和設計工具對資源進行處理,可以理解成 游戲 引擎的IDE,這部分因為是內部工具,而且可能需要經常修改所以一般採用比較高效的開發和語言,比如暴雪就是部分使用.NET和C#進行一些內部工具的開發。
至於引擎核心的開發,Windows比較流行的方法是使用最新版本的Visual Studio,顯卡廠商如NVIDIA也會為VS開發一些插件來簡化顯卡編程和調試。
在以上的分享關於這個問題的解答都是個人的意見與建議,我希望我分享的這個問題的解答能夠幫助到大家。
在這里同時也希望大家能夠喜歡我的分享,大家如果有更好的關於這個問題的解答,還望分享評論出來共同討論這話題。
我最後在這里,祝大家每天開開心心工作快快樂樂生活, 健康 生活每一天,家和萬事興,年年發大財,生意興隆,謝謝!
很高興能在這和大家討論這個問題,
游戲 開發是一個過程,為了激發玩家玩 游戲 熱情,通過遵循設計製作規則,來設計人物、場景等 游戲 要素。
2、主要流程包括原畫創作、建模、材質、燈光及渲染、骨骼設定、動畫、特效等部分。涉及范疇包括 : 游戲 規則及玩法、視覺藝術、編程、產品化、聲效、編劇、 游戲 角色、道具、場景、界面等等元素。
3、 游戲 程序開發歸根到底就是軟體工程,是 游戲 製造環節中不行短少的重要部分。 游戲 程序開發是技術含量最高的, 游戲 程序員的薪資也相對其他職業高許多,目前 游戲 職業中 游戲 程度人才的缺口非常大,供不應求。
二、 游戲 開發需要具備的知識
1、 游戲 本質分析, 游戲 產業概論、 游戲 開發流程及職業劃分、玩家需求分析、構思創意及文檔編寫要求、 游戲 故事設計、 游戲 元素、規則、任務、系統、關卡設計、 游戲 平衡設定、界面與操作功能。
2、透視基礎、構圖基礎、結構素描、明暗素描、藝用人體解剖基礎、人物速寫、Adobe PhotoshopCS3軟體應用、PhotoshopCS3造型基礎、 游戲 美術風格技法、色彩基礎、 游戲 色彩練習、肖像繪制、質感表現。
3、3DMAX軟體基礎、 游戲 材質基礎、 游戲 道具製作、作品渲染。
三、 游戲 場景製作技巧、場景材質製作、卡通角色製作、寫實角色製作、怪物製作。簡單分類的話就是:
1、扎實的演算法知識。主要有:樹或圖的搜索演算法、A*演算法、碰撞檢測演算法、BSP樹、人工智慧。
2、相關圖形處理知識。比如:Direct X編程、OpenGL編程、圖形學的相關知識(三維圖形的形體、紋理、貼圖、照明,還有三維對象的消隱演算法比如油畫演算法,Z緩存)和動畫處理知識。如果想深入還要學會幾種三維引擎比如OGRE。
3、扎實的程序語言功底,主要代表為VC、DELPHI和JAVA。其中VC使用最廣,現在比較大的 游戲 也由此開發;DELPHI功能也很強,很多網游:比如網金、傳奇都用到了DELPHI;JAVA用於開發手機 游戲 。
一、 游戲 開發製作的概念
1、 游戲 開發是一個過程,為了激發玩家玩 游戲 熱情,通過遵循設計製作規則,來設計人物、場景等 游戲 要素。
2、主要流程包括原畫創作、建模、材質、燈光及渲染、骨骼設定、動畫、特效等部分。涉及范疇包括 : 游戲 規則及玩法、視覺藝術、編程、產品化、聲效、編劇、 游戲 角色、道具、場景、界面等等元素。
3、 游戲 程序開發歸根到底就是軟體工程,是 游戲 製造環節中不行短少的重要部分。 游戲 程序開發是技術含量最高的, 游戲 程序員的薪資也相對其他職業高許多,目前 游戲 職業中 游戲 程度人才的缺口非常大,供不應求。
二、 游戲 開發需要具備的知識
1、 游戲 本質分析, 游戲 產業概論、 游戲 開發流程及職業劃分、玩家需求分析、構思創意及文檔編寫要求、 游戲 故事設計、 游戲 元素、規則、任務、系統、關卡設計、 游戲 平衡設定、界面與操作功能。
2、透視基礎、構圖基礎、結構素描、明暗素描、藝用人體解剖基礎、人物速寫、Adobe PhotoshopCS3軟體應用、PhotoshopCS3造型基礎、 游戲 美術風格技法、色彩基礎、 游戲 色彩練習、肖像繪制、質感表現。
3、3DMAX軟體基礎、 游戲 材質基礎、 游戲 道具製作、作品渲染。
三、 游戲 場景製作技巧、場景材質製作、卡通角色製作、寫實角色製作、怪物製作。簡單分類的話就是:
1、扎實的演算法知識。主要有:樹或圖的搜索演算法、A*演算法、碰撞檢測演算法、BSP樹、人工智慧。
1、 游戲 開發是一個過程,為了激發玩家玩 游戲 熱情,通過遵循設計製作規則,來設計人物、場景等 游戲 要素。
2、主要流程包括原畫創作、建模、材質、燈光及渲染、骨骼設定、動畫、特效等部分。涉及范疇包括 : 游戲 規則及玩法、視覺藝術、編程、產品化、聲效、編劇、 游戲 角色、道具、場景、界面等等元素。
3、 游戲 程序開發歸根到底就是軟體工程,是 游戲 製造環節中不行短少的重要部分。 游戲 程序開發是技術含量最高的, 游戲 程序員的薪資也相對其他職業高許多,目前 游戲 職業中 游戲 程度人才的缺口非常大,供不應求。
二、 游戲 開發需要具備的知識
1、 游戲 本質分析, 游戲 產業概論、 游戲 開發流程及職業劃分、玩家需求分析、構思創意及文檔編寫要求、 游戲 故事設計、 游戲 元素、規則、任務、系統、關卡設計、 游戲 平衡設定、界面與操作功能。
2、透視基礎、構圖基礎、結構素描、明暗素描、藝用人體解剖基礎、人物速寫、Adobe PhotoshopCS3軟體應用、PhotoshopCS3造型基礎、 游戲 美術風格技法、色彩基礎、 游戲 色彩練習、肖像繪制、質感表現。
3、3DMAX軟體基礎、 游戲 材質基礎、 游戲 道具製作、作品渲染。
三、 游戲 場景製作技巧、場景材質製作、卡通角色製作、寫實角色製作、怪物製作。簡單分類的話就是:
1、扎實的演算法知識。主要有:樹或圖的搜索演算法、A*演算法、碰撞檢測演算法、BSP樹、人工智慧。
2、相關圖形處理知識。比如:Direct X編程、OpenGL編程、圖形學的相關知識(三維圖形的形體、紋理、貼圖、照明,還有三維對象的消隱演算法比如油畫演算法,Z緩存)和動畫處理知識。如果想深入還要學會幾種三維引擎比如OGRE。
3、扎實的程序語言功底,主要代表為VC、DELPHI和JAVA。其中VC使用最廣,現在比較大的 游戲 也由此開發;DELPHI功能也很強,很多網游:比如網金、傳奇都用到了DELPHI;JAVA用於開發手機 游戲 。
補充:
一、 游戲 開發需要學哪些
1、基礎公共課: 游戲 概述 Photoshop平面軟體及像素美術 3dsmax軟體基礎及效果圖製作 游戲 程序設計基礎及 游戲 製作原理 游戲 策劃、製作、測試及運營實踐 游戲 行業規劃及職業素質。
2、專業技能課:手機2D 游戲 開發 2D 游戲 開發技術實戰 C++語言及演算法基礎 WIN32程序開發及MFC基礎 2D 游戲 開發實踐 行業規劃及職業素質。2D網路 游戲 開發主要學習內容有網路 游戲 程序設計、網路 游戲 演算法設計、2D網路 游戲 平台設計以及商業實戰項目訓練,包含C++、數據結構、演算法基礎、Windows API使用、MFC原理及其應用、2D圖形渲染技術、界面設計與應用。
3、 游戲 程序方向: Direct 3D程序開發基礎 3D 游戲 開發技術實戰 游戲 引擎的修改與使用網路通訊、資料庫及 游戲 伺服器、行業規劃及職業素質、 游戲 綜合項目實戰訓練、基地頂崗項目實訓。
二、 游戲 開發常用軟體
1、3dsMAX:大多數 游戲 開發公司美工使用,效率較高,可以獨立製作 游戲 中所有美術相關資源。
2、Delphi:直接編譯生成可執行代碼,編譯速度快。由於Delphi編譯器採用了條件編譯和選擇鏈接技術,使用它生成的執行文件更加精煉,運行速度更快。在處理速度和存取伺服器方面,Delphi的性能遠遠高於其他同類產品。
3、 Photoshop:PHOTOSHOP是一個很好的圖像編輯軟體,PHOTOSHOP的應用領域很廣泛,在圖像、圖形、文字、視頻、出版各方面都有涉及。
4、MAYA:跟3dsMAX差不多的軟體,因個人喜好而定, MAYA在製作動作的方面較MAX稍差,不過在很多方面這兩款軟體都是可以兼容的。
5、其他:在個人計算機上,可以用目前流性的軟體開發工具,比如:C,C++,VC++,Delphi,C++ Builder等。由於Windows操作系統的普及和其強大的多媒體功能,越來越多的 游戲 支持Windows操作系統。
游戲 開發者指製作電子 游戲 軟體的企業、團體或個人,其中企業性質的 游戲 開發者一般稱為「 游戲 開發商」。開發者可以專門為特定的電子 游戲 機製作,例如索尼的PlayStation 3、微軟的Xbox 360、任天堂的Wii,也可以為多種平台開發,包括個人電腦。
也有開發者專門為特定的 游戲 類型製作,例如角色扮演 游戲 或第一人稱射擊 游戲 。有些開發者專注於將 游戲 在各個平台間移植。有些開發者專注於將 游戲 翻譯成其他語種。還有一種不常見的軟體開發工作:給 游戲 補充內容。多數以獲取利潤為目的。
也有開發者專門為特定的 游戲 類型製作,例如角色扮演 游戲 或第一人稱射擊 游戲 。有些開發者專注於將 游戲 在各個平台間移植。有些開發者專注於將 游戲 翻譯成其他語種。還有一種不常見的軟體開發工作:給 游戲 補充內容。多數以獲取利潤為目的。
一、 游戲 開發製作的概念
1、 游戲 開發是一個過程,為了激發玩家玩 游戲 熱情,通過遵循設計製作規則,來設計人物、場景等 游戲 要素。
2、主要流程包括原畫創作、建模、材質、燈光及渲染、骨骼設定、動畫、特效等部分。涉及范疇包括 : 游戲 規則及玩法、視覺藝術、編程、產品化、聲效、編劇、 游戲 角色、道具、場景、界面等等元素。
3、 游戲 程序開發歸根到底就是軟體工程,是 游戲 製造環節中不行短少的重要部分。 游戲 程序開發是技術含量最高的, 游戲 程序員的薪資也相對其他職業高許多,目前 游戲 職業中 游戲 程度人才的缺口非常大,供不應求。
二、 游戲 開發需要具備的知識
1、 游戲 本質分析, 游戲 產業概論、 游戲 開發流程及職業劃分、玩家需求分析、構思創意及文檔編寫要求、 游戲 故事設計、 游戲 元素、規則、任務、系統、關卡設計、 游戲 平衡設定、界面與操作功能。
2、透視基礎、構圖基礎、結構素描、明暗素描、藝用人體解剖基礎、人物速寫、Adobe PhotoshopCS3軟體應用、PhotoshopCS3造型基礎、 游戲 美術風格技法、色彩基礎、 游戲 色彩練習、肖像繪制、質感表現。
3、3DMAX軟體基礎、 游戲 材質基礎、 游戲 道具製作、作品渲染。
三、 游戲 場景製作技巧、場景材質製作、卡通角色製作、寫實角色製作、怪物製作。簡單分類的話就是:
1、扎實的演算法知識。主要有:樹或圖的搜索演算法、A*演算法、碰撞檢測演算法、BSP樹、人工智慧。
2、相關圖形處理知識。比如:Direct X編程、OpenGL編程、圖形學的相關知識(三維圖形的形體、紋理、貼圖、照明,還有三維對象的消隱演算法比如油畫演算法,Z緩存)和動畫處理知識。如果想深入還要學會幾種三維引擎比如OGRE。
3、扎實的程序語言功底,主要代表為VC、DELPHI和JAVA。其中VC使用最廣,現在比較大的 游戲 也由此開發;DELPHI功能也很強,很多網游:比如網金、傳奇都用到了DELPHI;JAVA用於開發手機 游戲 。
補充:
一、 游戲 開發需要學哪些
1、基礎公共課: 游戲 概述 Photoshop平面軟體及像素美術 3dsmax軟體基礎及效果圖製作 游戲 程序設計基礎及 游戲 製作原理 游戲 策劃、製作、測試及運營實踐 游戲 行業規劃及職業素質。
2、專業技能課:手機2D 游戲 開發 2D 游戲 開發技術實戰 C++語言及演算法基礎 WIN32程序開發及MFC基礎 2D 游戲 開發實踐 行業規劃及職業素質。2D網路 游戲 開發主要學習內容有網路 游戲 程序設計、網路 游戲 演算法設計、2D網路 游戲 平台設計以及商業實戰項目訓練,包含C++、數據結構、演算法基礎、Windows API使用、MFC原理及其應用、2D圖形渲染技術、界面設計與應用。
3、 游戲 程序方向: Direct 3D程序開發基礎 3D 游戲 開發技術實戰 游戲 引擎的修改與使用網路通訊、資料庫及 游戲 伺服器、行業規劃及職業素質、 游戲 綜合項目實戰訓練、基地頂崗項目實訓。
二、 游戲 開發常用軟體
1、3dsMAX:大多數 游戲 開發公司美工使用,效率較高,可以獨立製作 游戲 中所有美術相關資源。
2、Delphi:直接編譯生成可執行代碼,編譯速度快。由於Delphi編譯器採用了條件編譯和選擇鏈接技術,使用它生成的執行文件更加精煉,運行速度更快。在處理速度和存取伺服器方面,Delphi的性能遠遠高於其他同類產品。
3、 Photoshop:PHOTOSHOP是一個很好的圖像編輯軟體,PHOTOSHOP的應用領域很廣泛,在圖像、圖形、文字、視頻、出版各方面都有涉及。
4、MAYA:跟3dsMAX差不多的軟體,因個人喜好而定, MAYA在製作動作的方面較MAX稍差,不過在很多方面這兩款軟體都是可以兼容的。
5、其他:在個人計算機上,可以用目前流性的軟體開發工具,比如:C,C++,VC++,Delphi,C++ Builder等。由於Windows操作系統的普及和其強大的多媒體功能,越來越多的 游戲 支持Windows操作系統。
一、 游戲 開發製作的概念
1、 游戲 開發是一個過程,為了激發玩家玩 游戲 熱情,通過遵循設計製作規則,來設計人物、場景等 游戲 要素。
2、主要流程包括原畫創作、建模、材質、燈光及渲染、骨骼設定、動畫、特效等部分。涉及范疇包括 : 游戲 規則及玩法、視覺藝術、編程、產品化、聲效、編劇、 游戲 角色、道具、場景、界面等等元素。
3、 游戲 程序開發歸根到底就是軟體工程,是 游戲 製造環節中不行短少的重要部分。 游戲 程序開發是技術含量最高的, 游戲 程序員的薪資也相對其他職業高許多,目前 游戲 職業中 游戲 程度人才的缺口非常大,供不應求。
二、 游戲 開發需要具備的知識
1、 游戲 本質分析, 游戲 產業概論、 游戲 開發流程及職業劃分、玩家需求分析、構思創意及文檔編寫要求、 游戲 故事設計、 游戲 元素、規則、任務、系統、關卡設計、 游戲 平衡設定、界面與操作功能。
2、透視基礎、構圖基礎、結構素描、明暗素描、藝用人體解剖基礎、人物速寫、Adobe PhotoshopCS3軟體應用、PhotoshopCS3造型基礎、 游戲 美術風格技法、色彩基礎、 游戲 色彩練習、肖像繪制、質感表現。
3、3DMAX軟體基礎、 游戲 材質基礎、 游戲 道具製作、作品渲染。
三、 游戲 場景製作技巧、場景材質製作、卡通角色製作、寫實角色製作、怪物製作。簡單分類的話就是:
1、扎實的演算法知識。主要有:樹或圖的搜索演算法、A*演算法、碰撞檢測演算法、BSP樹、人工智慧。
2、相關圖形處理知識。比如:Direct X編程、OpenGL編程、圖形學的相關知識(三維圖形的形體、紋理、貼圖、照明,還有三維對象的消隱演算法比如油畫演算法,Z緩存)和動畫處理知識。如果想深入還要學會幾種三維引擎比如OGRE。
3、扎實的程序語言功底,主要代表為VC、DELPHI和JAVA。其中VC使用最廣,現在比較大的 游戲 也由此開發;DELPHI功能也很強,很多網游:比如網金、傳奇都用到了DELPHI;JAVA用於開發手機 游戲 。
補充:
一、 游戲 開發需要學哪些
1、基礎公共課: 游戲 概述 Photoshop平面軟體及像素美術 3dsmax軟體基礎及效果圖製作 游戲 程序設計基礎及 游戲 製作原理 游戲 策劃、製作、測試及運營實踐 游戲 行業規劃及職業素質。
2、專業技能課:手機2D 游戲 開發 2D 游戲 開發技術實戰 C++語言及演算法基礎 WIN32程序開發及MFC基礎 2D 游戲 開發實踐 行業規劃及職業素質。2D網路 游戲 開發主要學習內容有網路 游戲 程序設計、網路 游戲 演算法設計、2D網路 游戲 平台設計以及商業實戰項目訓練,包含C++、數據結構、演算法基礎、Windows API使用、MFC原理及其應用、2D圖形渲染技術、界面設計與應用。
3、 游戲 程序方向: Direct 3D程序開發基礎 3D 游戲 開發技術實戰 游戲 引擎的修改與使用網路通訊、資料庫及 游戲 伺服器、行業規劃及職業素質、 游戲 綜合項目實戰訓練、基地頂崗項目實訓。
二、 游戲 開發常用軟體
1、3dsMAX:大多數 游戲 開發公司美工使用,效率較高,可以獨立製作 游戲 中所有美術相關資源。
2、Delphi:直接編譯生成可執行代碼,編譯速度快。由於Delphi編譯器採用了條件編譯和選擇鏈接技術,使用它生成的執行文件更加精煉,運行速度更快。在處理速度和存取伺服器方面,Delphi的性能遠遠高於其他同類產品。
3、 Photoshop:PHOTOSHOP是一個很好的圖像編輯軟體,PHOTOSHOP的應用領域很廣泛,在圖像、圖形、文字、視頻、出版各方面都有涉及。
4、MAYA:跟3dsMAX差不多的軟體,因個人喜好而定, MAYA在製作動作的方面較MAX稍差,不過在很多方面這兩款軟體都是可以兼容的。
5、其他:在個人計算機上,可以用目前流性的軟體開發工具,比如:C,C++,VC++,Delphi,C++ Builder等。由於Windows操作系統的普及和其強大的多媒體功能,越來越多的 游戲 支持Windows操作系統。
游戲 是用 游戲 引擎開發的。 游戲 引擎是指一些已編寫好的可編輯電腦 游戲 系統或者一些互動式實時圖像應用程序的核心組件。這些系統為 游戲 設計者提供各種編寫 游戲 所需的各種工具,其目的在於讓 游戲 設計者能容易和快速地做出 游戲 程式而不用由零開始。大部分都支持多種操作平台。 游戲 引擎包含渲染引擎、物理引擎、碰撞檢測系統、音效、腳本引擎、電腦動畫、人工智慧、網路引擎以及場景管理。經過不斷的進化,如今的 游戲 引擎已經發展為一套由多個子系統共同構成的復雜系統,從建模、動畫到光影、粒子特效,從物理系統、碰撞檢測到文件管理、網路特性,還有專業的編輯工具和插件,幾乎涵蓋了開發過程中的所有重要環節。
游戲 開發就是人工編譯,把 游戲 寫出來,比如王者榮耀,都是人工經過無數次的更改和測試寫出來的 游戲 ,在經過玩家體驗,修改,完成正式上線。希望可以幫到樓主!
狹義的 游戲 開百發就是指 游戲 程序,廣義的 游戲 開發就是指整個 游戲 度製作的過程,包含 游戲 美術、 游戲 策劃、 游戲 程序。 游戲 程序主要就問是用引擎,國內用的比較多的是cocos2d和unity3d,寫代碼開發引答擎的功能,配合策劃和美術實現整個 游戲 中的所專有功能,就是這樣的。你可以去17xuee看看 游戲 行屬業的崗位分工的,非常詳細
❼ 游戲開發學什麼語言
問題一:現在的游戲是什麼語言工具開發的? LS說的不錯,底層還是得學C++,但是單就游戲開發(不是游戲引擎開發)來說,現在基本使用游戲飢擎,而游戲引擎最重要的目的就是整合常用邏輯觸發事件,減少手動寫代碼。就拿UDK來說,簡單邏輯事件可以用它自帶的ki *** et可視化編程做,進入這個界面,就跟畫UML類圖似的,方塊之間只需要連連線一個簡單事件就出來了。
問題二:大型單機游戲用什麼語言開發的? 大型游戲用什麼語言都可以寫,寫游戲做大型軟體,語言只是一個載體.關鍵在於開發包的性能.
比如寫3D游戲的時候,我們可以用VC的框架,C++語言的語法,再結合圖形驅動開發包,比如DirectX和OpenGL,直接寫硬體.在一些需要精確控制內存的模塊,我們甚至要嵌入匯編程序.
很難想像現在的軟體純粹用一種高級語言來完成,那樣對用戶的內存將成為一個大的無底洞.
問題三:編程游戲需要什麼語言 PC平台上開發 開發游戲可以使用一些現成的平台,例如cocos-2d.可以使用C++或者lua進行開發。
這是一個跨平台的開發架構,同一套代碼可以在帆雀納不同的設備上運行。
詳細內容可以去cocos-2d的相關網站進行查詢。
問題四:一般的游戲都是用什麼語言開發的 一般的大型游戲開發絕不是用某種語言這么單純的問題。一個大型游戲的開發需要龐大的團隊使用各種各樣的語言和工具來完成。總結一下主要有C/C++,匯編語言,著色器語言,腳本語言,高效的開發語言C#或Java。
首先一般的游戲開發架構(Windows)從底到頂一般是Direct X?――游戲引擎――游戲。
Direct X?相當於所有顯卡的一個統一介面,為游戲提供一個利用硬體渲染的編程模型,但Direct X?介面為了追求高性能功能非常單純和鬆散,不利於游戲的高效開發。此時就需要根據游戲特點對其進行適當的取捨和封裝,實現一組更高抽象的游戲開發介面和框架,可以理解成游戲引擎中的圖形引擎。這部分的開發一般使用的語言是C/C++和少量的匯編語言。
至於游戲引擎是一個非常復雜的功能聚合體,所有的游戲開發工作都是在之上進行的。包括圖形引擎,音頻引擎,碰撞引擎,藝術資源管理,腳本引擎等等。到此為止幾乎還沒有涉及到你所說的游戲開發。
首先在圖形渲染方面,例如光照陰影處理等等,現代顯卡一般是通過可編程著色器實現對圖形效果的控制,所採用的編程語言一態沒般歲如是一些著色器語言,例如Direct X?採用的HLSL,OpenGL使用的GLSL等等,語法類似C語言,游戲執行時被編譯載入到顯卡上,在實現硬體渲染速度的同時又實現了編程的靈活性。
大型游戲開發的絕大部分工作其實都是在編寫游戲腳本,腳本是大型游戲得以如此高速開發和發布的主要原因。腳本化的開發讓游戲開發擺脫了硬編碼的種種弊端,讓游戲內容可以輕易的修改和調試。游戲故事如何進行,各種事件如何觸發,何時該播放哪些聲音或動畫,如何使用藝術團隊創作的資源,這些都是在腳本中編寫的,可以說引擎決定了游戲能做什麼,而腳本才真正決定了游戲做了什麼。一些著名的引擎如虛幻系列都有自己獨特的腳本語言,其他一些引擎可能會採用一些第三方的腳本語言,比如比較流行的Lua。所以開發一個新游戲最簡單的情形就是沿用之前的引擎,創作藝術資源,然後編寫腳本將其組織成一個游戲,幾乎不需要什麼底層的編程語言。
開發環境方面,游戲團隊內部可能會使用一些開發和設計工具對資源進行處理,可以理解成游戲引擎的IDE,這部分因為是內部工具,而且可能需要經常修改所以一般採用比較高效的開發和語言,比如暴雪就是部分使用.NET和C#進行一些內部工具的開發。
至於引擎核心的開發,Windows比較流行的方法是使用最新版本的Visual Studio,顯卡廠商如NVIDIA也會為VS開發一些插件來簡化顯卡編程和調試。
問題五:想從事游戲開發,現在需要學什麼 建議學XNA吧,微軟出的未來游戲開發框架,用C#開發,適合你的
學C++做游戲比較難,自學能堅持下來的不多,畢竟要學的知識太多,而且C++本身就是一門相對比較難以掌握的語言
不能說C++是王道吧,感覺現在C++除了在比較低層的開發上處於老大哥的償位,其它一些中高層的應用都在減少,不過,C++的效率確實不是另我高級語言能比的,但在電腦性能高速發展的現今,我認為C#的性能完全可以開發出不錯的游戲
我也在研究XNA,相對來說真的把游戲開發困難度降低了很多
問題六:游戲用什麼語言編寫的? CS是用VC++寫的,魔獸不清楚了,大多都用VC++,C++,DELHPI寫的手機上用的JAVA
問題七:網路游戲開發都用什麼語言 c或c++,絕不是java,c#那種封裝的過多的高級語言。
用C或c++乍看上去似乎不太占優勢,好像在圖像的顯示上要麻煩。
但是大型的網路游戲更重要的是效率,用c或c++編寫並輔之於優化的演算法可以程序的效率更高,通訊的信息量減小,使相同的硬體資源可以支持更多的用戶。這是其它高級語言不可比擬的。
用c或c++的另一個原因是游戲中最難製作的是圖像特效的渲染,這也是java,c#等軟肋。所以從事網路游戲開發人員的薪水是軟體從業人員中相對較高的,也是發展前景很好。
這些信息來源於給我們上課的有十年以上工作經驗的華為工程師。
問題八:學網路游戲設計都需要學什麼編程語言?可以自學嗎? 自學與老師指點的區別在於:自學很可能要走很多冤枉路!
但是,找到好的老師談何容易!所以自學也不失一條途徑。
在這里「網路游戲設計」你應該指的是游戲編程吧?(游戲設計還包括策劃、美工等等)
首先,游戲編程也是編程,因此你得學會編程。怎樣從0開始學編程呢?
1。選擇一門計算機語言。選擇C語言吧,原因就不講了,自己慢慢體會吧。去買一本C++的書(書中會說明C和C++的概念的),多上機,掌握其基本語法、概念。
2。了解API編程的概念。買一本類似「WINDOWS程序設計」的書。
3。在C的基礎上學習C++,理解類的概念及其編程。使用前面的書,再買一本MFC編程的書(使用別人的類庫編程,以後學習其他面向對象的語言也不難了)。
4。學習網路編程。理解一下網路通信的基本概念。
5。學習游戲編程。主要是關於圖形的處理。前面的知識這時候就大有用處了。你可以使用API圖形函數,或者別人提供的專門的圖形函數庫,比如DX,OPENGL。
6。游戲的實質就是內部的邏輯加上外部的圖形化顯示。因此,你還不許學習演算法,也就是對數據的組織和處理,這才是關鍵,外部圖形的顯示只是函數的使用而已,內部數據的邏輯才是靈魂。如果你的游戲再加上網路通信功能,不就初具網路游戲的雛形了?
以上是針對業余者快速入門而言,科班的自有自己的課程體系,可參考相關專業課程設置。當你走過以上六部,只能說你入了門,要想走得遠,必須系統地學習科班的課程,基礎才能打得牢。當然,如果業余玩玩,也不用那麼辛苦。
菜鳥的建議,參考而已。GOOD LOCK !
問題九:大型游戲用什麼語言編寫的? 在速度就是生命的大型游戲王國里,C才是霸主。雖然C的代碼量大,可維護性、可讀性不如C++,但速度絕對沒的說!
樓恭若要編大型游戲,建議使用C。
問題十:想要學習手機游戲開發需要學習什麼語言呢? 你好做手機游戲我分開說好了 首先做手機應用(手機游戲其實也是應用 的一種)首選肯定是安卓或者ios 二選 一 安卓肯定就是java了 (我比較了解干這 個的)後一種我就不熟了 那麼這個方向的技能需要javaLogic 也 就是java的基本邏輯 然後是web應用 也 就是伺服器技術jsp 、servlet 前端的話 頁面要學習js jquery html也就是div+css 再從游戲來說游戲那麼多精美的圖片想 要絢麗的效果肯定少不了的那麼就是fla sh 圖片處理之類的技術了
如果你只是想練手做個小游戲例如貪食 蛇俄羅斯方塊掃雷坦克大戰之類的那麼 入手的方向是 先搞懂游戲的演算法簡單來說如何判斷蛇 吃到了食物如何讓蛇前進後退俄羅斯方 塊:如何這一層滿了就消除如何變幻方 塊模型掃雷:如何查找周圍有幾顆雷這 些都是游戲的演算法搞懂了這些邏輯演算法 就好做了 希望能幫到你謝謝
你好做手機游戲我分開說好了 首先做手機應用(手機游戲其實也是應用 的一種)首選肯定是安卓或者ios 二選 一 安卓肯定就是java了 (我比較了解干這 個的)後一種我就不熟了 那麼這個方向的技能需要javaLogic 也 就是java的基本邏輯 然後是web應用 也 就是伺服器技術jsp 、servlet 前端的話 頁面要學習js jquery html也就是div+css 再從游戲來說游戲那麼多精美的圖片想 要絢麗的效果肯定少不了的那麼就是fla sh 圖片處理之類的技術了
如果你只是想練手做個小游戲例如貪食 蛇俄羅斯方塊掃雷坦克大戰之類的那麼 入手的方向是 先搞懂游戲的演算法簡單來說如何判斷蛇 吃到了食物如何讓蛇前進後退俄羅斯方 塊:如何這一層滿了就消除如何變幻方 塊模型掃雷:如何查找周圍有幾顆雷這 些都是游戲的演算法搞懂了這些邏輯演算法 就好做了 希望能幫到你謝謝
我 你好做手機游戲我分開說好了 首先做手機應用(手機游戲其實也是應用 的一種)首選肯定是安卓或者ios 二選 一 安卓肯定就是java了 (我比較了解干這 個的)後一種我就不熟了 那麼這個方向的技能需要javaLogic 也 就是java的基本邏輯 然後是web應用 也 就是伺服器技術jsp 、servlet 前端的話 頁面要學習js jquery html也就是div+css 再從游戲來說游戲那麼多精美的圖片想 要絢麗的效果肯定少不了的那麼就是fla sh 圖片處理之類的技術了
如果你只是想練手做個小游戲例如貪食 蛇俄羅斯方塊掃雷坦克大戰之類的那麼 入手的方向是 先搞懂游戲的演算法簡單來說如何判斷蛇 吃到了食物如何讓蛇前進後退俄羅斯方 塊:如何這一層滿了就消除如何變幻方 塊模型掃雷:如何查找周圍有幾顆雷這 些都是游戲的演算法搞懂了這些邏輯演算法 就好做了 希望能幫到你謝謝
我 你好做手機游戲我分開說好了 首先做手機應用(手機游戲其實也是應用 的一種)首選肯定是安卓或者ios 二選 一 安卓肯定就是java了 (我比較了解干這 個的)後一種我就不熟了 那麼這個方向的技能需要javaLogic 也 就是java的基本邏輯 然後是web應用 也 就是伺服器技術jsp 、servlet 前端的話 頁面要學習js jquery html也就是div+css 再從游戲來說游戲那麼多精美的圖片想 要絢麗的效果肯定少不了的那麼就是fla sh 圖片處理之類的技術了
如果你只是想練手做個小游戲例如貪食 蛇俄羅斯方塊掃雷坦克大戰之類的那麼 入手的方向是 先搞懂游戲的演算法簡單來說如何判斷蛇 吃到了食物如何讓蛇前進後......>>
❽ 如何搭建windows下的GLSL環境
1. 安裝編譯環境
Object C和其他很多語言一樣,都需要有一個編譯器。Object C 是在GCC下編譯的。GCC(GNU Compiler Collection,GNU編譯器集合),是一套由 GNU 開發的編程語言編譯器。很多人想到學習Object C就想到mac電腦,想到XCode開發工具。其實在Windows環境一下也可以編譯Object C。
首先下載Windows版本的GCC編譯器
下載如下幾個包:
gnustep-system-0.23.0-setup.exe gnustep-core-0.23.0-setup.exe gnustep-devel-1.0.0-setup.exe gnustep-cairo-0.22.1-setup.exe
以上四個包點擊鏈接可以下載,下載之後安裝順序安裝,前面兩個包是必選的,後面兩個是可選安裝的。
2. 安春純派裝IDE開扒賀發環境
CodeBlocks IDE是一個開源跨平台的C++ 開發工具。
3. 配置編譯環境
安裝好工具之後,打開如上圖界面,在導航菜單欄中找到Settings--Compiler Settings
重新命名為"GNUstep MinGW Compiler", 大部分人都是這么命名的。然後Set as default
編譯設置參數:選擇Compiler Settings 選項卡中選擇Other Options選項卡,在其中輸入: "-fconstant-string-class=NSConstantString -std=c99"
設置Linker Settings:在"\GNUstep\GNUstep\System\Library\Libraries\" 安裝目錄下找到 libgnustep-base.dll.a libobjc.dll.a 兩個文件
設置Search directories : 將"\GNUstep\GNUstep\System\Library\Headers" 目錄配置到Compiler選項中
4. 配置語法、文件類型,褲汪關鍵字等
(1)進入Settings->Environment...
(2)選擇 Files extension handling 添加*.m
(3)進入 Project->Project tree->Edit file types & categories...
(4)在Sources, 下面添加 *.m到文件類型列表中.
5. 新建工程,測試Object C
新建一個控制台程序,測試代碼
點擊Build - run 或者 Ctrl + F10 ,編譯報錯:
ERROR: You need to specify a debugger program in the debuggers's settings.
(For MinGW compilers, it's 'gdb.exe' (without the quotes))
(For MSVC compilers, it's 'cdb.exe' (without the quotes))
如上問題需要設置一下:Settings--Compiler Settings--Toolchain executables
點擊Auto-detect 之後會自動設置相應的環境配置,然後重新編譯即可