GPU程式設計之GLSL(二)

2021-06-23 03:53:55 字數 1318 閱讀 9592

首先我們需要有乙個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...