![]() |
CMSC23740 Common Code Library
Support code for CS23740 programming projects
|

Go to the source code of this file.
Classes | |
| struct | cs237::gobj::Obj |
| a geometric object More... | |
Namespaces | |
| namespace | OBJ |
| namespace | cs237 |
| namespace | cs237::gobj |
Enumerations | |
| enum class | cs237::gobj::VertexAttrs : uint32_t { cs237::gobj::ePos = kVAttrPosBit , cs237::gobj::ePosNorm = kVAttrPosBit | kVAttrNormBit , cs237::gobj::ePosTex = kVAttrPosBit | kVAttrTCBit , cs237::gobj::ePosNormTex = kVAttrPosBit | kVAttrNormBit | kVAttrTCBit } |
| specifying the attributes of the generated object More... | |
Functions | |
| bool | cs237::gobj::hasNormals (VertexAttrs attrs) |
| Does a vertex attribute specification include normals? | |
| bool | cs237::gobj::hasTextureCoords (VertexAttrs attrs) |
| Does a vertex attribute specification include texture coordinates? | |
| Obj * | cs237::gobj::cube (VertexAttrs attrs, glm::vec3 center, float width) |
| Obj * | cs237::gobj::sphere (VertexAttrs attrs, glm::vec3 center, float radius, uint32_t slices, uint32_t stacks) |
| Obj * | cs237::gobj::cone (VertexAttrs attrs, glm::vec3 pos, glm::vec3 dir, float radius, float height, uint32_t slices, uint32_t stacks) |
Variables | |
| constexpr uint32_t | cs237::gobj::kVAttrPosBit = (1 << 0) |
| bit mask for the various vertex attributes | |
| constexpr uint32_t | cs237::gobj::kVAttrNormBit = (1 << 1) |
| normal vector attribute | |
| constexpr uint32_t | cs237::gobj::kVAttrTCBit = (1 << 2) |
| texture coordinate attribute | |
| constexpr uint32_t | cs237::gobj::kVAttrTanBit = (1 << 3) |
| tangent vector attribute | |
Support code for CMSC 23740 Autumn 2024.
This file defines various "graphical objects" that can be used to represent light volumes and other things. The objects are represented as OBJ::Group structures.