原创 模型加載之Assimp庫配置

Assimp編譯之後,生成的庫和DLL文件位於cmake編譯後的build/code/Debug或者build/code/Release 把編譯好的LIB文件和DLL文件拷貝到工程的相應目錄下,並且在解決方案中鏈接它們。還需把Assimp

原创 OpenGL模型加載之網格

Mesh.h #pragma once #ifndef MESH_H #define MESH_H #include <glad/glad.h> #include <GLFW/glfw3.h> #define STB_IMAGE_IMP

原创 OpenGL入門之攝像機

攝像機 使用攝像機的3個軸外加一個平移向量來創建一個矩陣,可以用這個矩陣乘以任何向量來將其表換到那個座標空間。這就是,矩陣的作用。現有3個相互垂直的軸和一個定義攝像機空間的位置座標,可以創建自己的LookAt矩陣: GLM已經提供了創建

原创 OpenGL入門之座標系統——MVP

窗口代碼: /*OpenGL之窗口初始化*/ #include <iostream> #include <glad/glad.h> #include <GLFW/glfw3.h> #include <fstream> #include

原创 OpenGL入門之紋理

窗口代碼: /*OpenGL之窗口初始化*/ #include <iostream> #include <glad/glad.h> #include <GLFW/glfw3.h> #include <fstream> #include

原创 VBO,VAO,EBO及創建矩形

頂點緩衝對象(VBO) 頂點緩衝對象(Vertex Buffer Objects, VBO)管理這個PU內存,它會在GPU內存(通常被稱爲顯存)中儲存大量頂點。使用這些緩衝對象的好處是我們可以一次性的發送一大批數據到顯卡上,而不是每個頂點

原创 OpenGL入門——hello_window

/*OpenGL之窗口初始化*/ #include <iostream> #include <glad/glad.h> #include <GLFW/glfw3.h> void framebuffer_size_callback(GLF

原创 Windows+VS2015配置OpenGL

目前有一些庫節省了書寫操作系統相關代碼的時間,提供了窗口和上下文用來渲染。目前最流行的幾個庫有GLUT,SDL,SFML,GLFW。博客中所用爲GLFW。 GLFW是一個專門針對OpenGL的C語言庫,其提供了一些渲染物體所需的最低限度的

原创 VS2015下的OpenGL配置

寫在前面: 最近要用到OpenGL,光是在VS2015下配置就費了很大的勁,現在將我的成果直接貢獻給大家,希望能爲需要在VS2015下配置OpenGL的讀者省去一些麻煩。 正文: 資源地址1:https://pan.baidu.com/s

原创 杭電1710(純C代碼)

要用純C寫這道題目,首先要注意結構體的定義,用typedef定義結構體時,結構體裏面的指針前面要加struct。 如: 還有就是建樹的函數,由於C語言中不能實現用&符來進行指針副本定義,所以在建樹函數中應該有返回指針類型的返回值。 如:

原创 直接選擇排序算法

/* 直接選擇排序算法的時間複雜度爲O(n^2), 它是不穩定的排序算法。 */ #include <stdio.h> int sum[1100]; int main() { int n,i,j,k,temp; scanf("%d"

原创 維吉尼亞密碼方陣

代碼已上傳到 GitHub —— Vigenere.java維吉尼亞密碼方陣人們在愷撒移位密碼的基礎上擴展出多表密碼,稱爲維吉尼亞密碼。該方法最早記錄在吉奧萬·巴蒂斯塔·貝拉索( Giovan Battista Bellaso)於15

原创 直接插入排序算法-設置哨兵版

/*直接插入排序算法的時間複雜度爲O(n^2), 它是穩定的排序算法*/ #include <stdio.h> int sum[1000]; int main() { int n,i,j; scanf("%d",&n); for(i

原创 Java實現RSA公鑰密碼

package RSA; import org.apache.commons.codec.binary.Base64;//這兩條指令的執行需引入外部包,外部包分別爲commons-codec和commons-io import org.a

原创 杭電1002(純C版)

#include <stdio.h> #include <stdlib.h> #include <string.h> char A[1010],B[1010]; int a[1010],b[1010],c[1010]; void Add(