CMSC23740 Common Code Library
Support code for CS23740 programming projects
Loading...
Searching...
No Matches
gobjects.hpp File Reference
This graph shows which files directly or indirectly include this file:

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?
 
Objcs237::gobj::cube (VertexAttrs attrs, glm::vec3 center, float width)
 
Objcs237::gobj::sphere (VertexAttrs attrs, glm::vec3 center, float radius, uint32_t slices, uint32_t stacks)
 
Objcs237::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
 

Detailed Description

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.

Author
John Reppy