首先我們需要有乙個c++的工程
共包含5個檔案:乙個主工程檔案,兩個負責讀寫的,乙個頂點著色器,乙個片段著色器
目前這個程式執行的結果為:乙個旋轉的茶壺
下一節會講有關opengl與著色器的通訊問題。
各個檔案**如下——
第乙個即為主工程檔案:
#include #include #include #include #include "creader.h"
#pragma comment(lib, "glew32.lib")
gluint v,f,p;
float lpos[4]=;
float a=0;
void changesize(int w, int h)
void renderscene(void)
void setshaders()
int main(int argc, char **argv)
第二個為頂點著色器:檔名為toon.vert
void main()
第三個為片段著色器:檔名為toon.flag
void main()
第四個為輔助檔案——用於讀寫的
#ifndef reader_cpp_
#define reader_cpp_
#include #include #include class creader;
char *textfileread(char *chfilename);
private:
void init(void);
file *_fp;
char *_content;
int _count; };
#endif
第五個為輔助檔案——負責讀寫
#include"creader.h"
char* creader::textfileread(char *chfilename)
fclose(_fp);
} }return _content;
}void creader::init(void)
仇德元.《gpgpu程式設計技術——從glsl、cdpu到opengl》[m].河北省三河市:機械工業出版社,2023年:323. GPU程式設計之GLSL(八) 配置GLSL
由於昨天重灌系統,導致所有的檔案都需要重新配置,此次配置過程中又發現了一些問題 首先說一下步驟吧 所有的.h檔案放在 c program files x86 microsoft sdks windows v7.0a include gl 所有的.dll檔案放在 c windows syswow64 ...
GPU程式設計之GLSL(五) 二維離散卷積
本程式共分為7個檔案 1個主程式檔案,2個ctimer檔案,2個creader檔案,2個著色器檔案 兩個creader檔案和2個著色器檔案分別在前邊的 二 和 四 中給出,這裡就不詳細解釋了 首先我們來講一下比較簡單的檔案 ctimer檔案 主要是為了獲取時間,以便比較程式效能 這是ctimer.h...
GLSL程式設計之GLSL(七) 逐畫素光照
下邊第二部分 逐畫素點光,我試驗出了修改方法,但是至於為什麼要這樣修改,我並不清楚,希望有大神可以幫忙解答,小女感激不盡!本文參考 但經過實驗,修正其中部分問題 第一部分 逐畫素方向光 由原本 執行得到的結果為 主要原因是其片段著色器並未將所有顏色加在一起,最後加上這條語句即可 color glob...