#include
using
namespace std;
#include
#include
void
processinput
(glfwwindow *window)
;float vertices=
;unsigned
int indices=
;const
char
* vertexshadersource =
"#version 330 core\n"
"layout (location = 0) in vec3 apos;\n"
"out vec4 vertexcolor; \n"
"void main()\n"
"\0"
;const
char
* fragshadersource =
"#version 330 core\n"
"in vec4 vertexcolor;\n"
"out vec4 fragcolor;\n"
"uniform vec4 ourcolor;\n"
"void main()\n"
"\0"
;int
main()
glfwmakecontextcurrent
(window)
;//init glew
//glewexperimental = gl_true; //使用有問題 注釋掉if(
glewinit()
!= glew_ok)
glviewport(0
,0,800
,600);
//glpolygonmode(gl_front_and_back, gl_line);
//建立vao並且繫結
unsigned
int vao;
glgenvertexarrays(1
,&vao)
;glbindvertexarray
(vao)
;//建立vbo
unsigned
int vbo;
glgenbuffers(1
,&vbo)
;glbindbuffer
(gl_array_buffer, vbo)
;//資料寫入記憶體
glbufferdata
(gl_array_buffer,
sizeof
(vertices)
, vertices, gl_static_draw)
;//建立ebo
unsigned
int ebo;
glgenbuffers(1
,&ebo)
;glbindbuffer
(gl_element_array_buffer, ebo)
;//資料寫入記憶體
glbufferdata
(gl_element_array_buffer,
sizeof
(indices)
, indices, gl_static_draw)
;//建立頂點著色器 編譯
unsigned
int vertexshader;
vertexshader =
glcreateshader
(gl_vertex_shader)
;glshadersource
(vertexshader,1,
&vertexshadersource,
null);
glcompileshader
(vertexshader)
;//建立片段著色器 編譯
unsigned
int fragshader;
fragshader =
glcreateshader
(gl_fragment_shader)
;glshadersource
(fragshader,1,
&fragshadersource,
null);
glcompileshader
(fragshader)
;//shader program 著色器和在一起 按順序輸入輸出 鏈結
unsigned
int shaderprogram;
shaderprogram =
glcreateprogram()
;glattachshader
(shaderprogram, vertexshader)
;glattachshader
(shaderprogram, fragshader)
;gllinkprogram
(shaderprogram)
;//頂點屬性
glvertexattribpointer(0
,3, gl_float, gl_false,3*
sizeof
(float),
(void*)
0);glenablevertexattribarray(0
);while(!
glfwwindowshouldclose
(window)
)return0;
}void
processinput
(glfwwindow *window)
}
linux vim以及管理輸入輸出
vim 是vi的高階版 vim是linux中的乙個文字處理器,具有程式編輯能力,而且可以自動以顏色辨別語法錯誤。1.vim的三種模式 命令模式,插入模式,退出模式 2.命令模式下配置vim的工作方式 set nu 設定行號 set nonu 取消行號 set mouse 新增滑鼠選擇 set cur...
常用技巧 輸入輸出優化 輸入輸出外掛程式
我們知道cin cout是比較慢的,不過它們可以加速。在 中加入這兩句即可 std ios sync with stdio false std cin.tie 0 加速過後cin的速度與scanf的速度近似 當然,加速過後就不要混用print和cout,scanf和cin了。因為不同步,後果會很嚴重...
Linux輸入輸出重定向以及管道
和程式的標準輸出重定向一樣,程式的錯誤輸出也可以重新定向。使用符號2 或追加符號2 表示對錯誤輸出裝置重定向。例如下面的命令 ls usr tmp 2 err.file 可在螢幕上看到程式的正常輸出結果,但又將程式的任何錯誤資訊送到檔案err.file中,以備將來檢查用。如果你對 2 感到很迷惑,這...