• 大小: 4.22MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-20
  • 语言: 其他
  • 标签: GLM  

资源简介

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个文件信息

评论

共有 条评论