资源简介
GLM是OpenGL Mathematics的缩写,它是一个只有头文件的库。
代码片段和文件信息
/// @ref core
/// @file glm/core/dummy.cpp
///
/// GLM is a header only library. There is nothing to compile.
/// dummy.cpp exist only a wordaround for CMake file.
/*
#define GLM_MESSAGES
#include
#include
#include
struct material
{
glm::vec4 emission; // Ecm
glm::vec4 ambient; // Acm
glm::vec4 diffuse; // Dcm
glm::vec4 specular; // Scm
float shininess; // Srm
};
struct light
{
glm::vec4 ambient; // Acli
glm::vec4 diffuse; // Dcli
glm::vec4 specular; // Scli
glm::vec4 position; // Ppli
glm::vec4 halfVector; // Derived: Hi
glm::vec3 spotDirection; // Sdli
float spotExponent; // Srli
float spotCutoff; // Crli
// (range: [0.090.0] 180.0)
float spotCosCutoff; // Derived: cos(Crli)
// (range: [1.00.0]-1.0)
float constantAttenuation; // K0
float linearAttenuation; // K1
float quadraticAttenuation;// K2
};
// Sample 1
#include // glm::vec3
#include // glm::cross glm::normalize
glm::vec3 computeNormal
(
glm::vec3 const & a
glm::vec3 const & b
glm::vec3 const & c
)
{
return glm::normalize(glm::cross(c - a b - a));
}
typedef unsigned int GLuint;
#define GL_FALSE 0
void glUniformMatrix4fv(GLuint int int float*){}
// Sample 2
#include // glm::vec3
#include // glm::vec4 glm::ivec4
#include // glm::mat4
#include // glm::translate glm::rotate glm::scale glm::perspective
#include // glm::value_ptr
void func(GLuint LocationMVP float Translate glm::vec2 const & Rotate)
{
glm::mat4 Projection = glm::perspective(45.0f 4.0f / 3.0f 0.1f 100.f);
glm::mat4 ViewTranslate = glm::translate(glm::mat4(1.0f) glm::vec3(0.0f 0.0f -Translate));
glm::mat4 ViewRotateX = glm::rotate(ViewTranslate Rotate.y glm::vec3(-1.0f 0.0f 0.0f));
glm::mat4 View = glm::rotate(ViewRotateX Rotate.x glm::vec3(0.0f 1.0f 0.0f));
glm::mat4 Model = glm::scale(glm::mat4(1.0f) glm::vec3(0.5f));
glm::mat4 MVP = Projection * View * Model;
glUniformMatrix4fv(LocationMVP 1 GL_FALSE glm::value_ptr(MVP));
}
// Sample 3
#include // glm::vec2
#include // glm::packUnorm2x16
#include // glm::uint
#include // glm::i8vec2 glm::i32vec2
std::size_t const VertexCount = 4;
// Float quad geometry
std::size_t const PositionSizeF32 = VertexCount * sizeof(glm::vec2);
glm::vec2 const PositionDataF32[VertexCount] =
{
glm::vec2(-1.0f-1.0f)
glm::vec2( 1.0f-1.0f)
glm::vec2( 1.0f 1.0f)
glm::vec2(-1.0f 1.0f)
};
// Half-float quad geometry
std::size_t const PositionSizeF16 = VertexCount * sizeof(glm::uint);
glm::uint const PositionDataF16[VertexCount] =
{
glm::uint(glm::packUnorm2x16(glm::vec2(-1.0f -1.0f)))
glm::uint(glm::packUnorm2x16(glm::vec2( 1.0f -1.0f)))
glm::uint(glm::packUnorm2x16(glm::vec2( 1.0f 1.0f)))
glm::uint(glm::packUnorm2x16(glm::vec2(-1.0f 1.0f)))
};
// 8 bits signed integer
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-08-16 12:15 glm-0.9.8.5\
文件 992 2017-08-16 12:15 glm-0.9.8.5\.appveyor.yml
文件 512 2017-08-16 12:15 glm-0.9.8.5\.gitignore
文件 3125 2017-08-16 12:15 glm-0.9.8.5\.travis.yml
文件 7308 2017-08-16 12:15 glm-0.9.8.5\CMakeLists.txt
目录 0 2017-08-16 12:15 glm-0.9.8.5\cmake\
文件 10786 2017-08-16 12:15 glm-0.9.8.5\cmake\CMakePackageConfigHelpers.cmake
文件 7397 2017-08-16 12:15 glm-0.9.8.5\cmake\GNUInstallDirs.cmake
文件 149 2017-08-16 12:15 glm-0.9.8.5\cmake\glm.pc.in
文件 193 2017-08-16 12:15 glm-0.9.8.5\cmake\glmBuildConfig.cmake.in
文件 228 2017-08-16 12:15 glm-0.9.8.5\cmake\glmConfig.cmake.in
文件 2928 2017-08-16 12:15 glm-0.9.8.5\copying.txt
目录 0 2017-08-16 12:15 glm-0.9.8.5\doc\
目录 0 2017-08-16 12:15 glm-0.9.8.5\doc\api\
文件 2915 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00001.html
文件 57838 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00001_source.html
文件 2906 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00002.html
文件 5329 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00002_source.html
文件 2906 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00003.html
文件 18416 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00003_source.html
文件 2912 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00004.html
文件 157179 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00004_source.html
文件 2927 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00005.html
文件 152832 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00005_source.html
文件 2918 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00006.html
文件 22772 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00006_source.html
文件 19445 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00007.html
文件 30426 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00007_source.html
文件 8875 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00008.html
文件 12332 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00008_source.html
文件 16359 2017-08-16 12:15 glm-0.9.8.5\doc\api\a00009.html
............此处省略850个文件信息
评论
共有 条评论