![]() |
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.