Ion
|
Ellipsoid. More...
#include "shapeutils.h"
Public Types | |
enum | VertexType { kPosition, kPositionTexCoords, kPositionNormal, kPositionTexCoordsNormal } |
This enum is used to specify what per-vertex attributes should be included in a Shape. More... | |
Public Member Functions | |
EllipsoidSpec () | |
Public Attributes | |
math::Anglef | longitude_start |
math::Anglef | longitude_end |
math::Anglef | latitude_start |
math::Anglef | latitude_end |
size_t | band_count |
size_t | sector_count |
math::Vector3f | size |
base::AllocatorPtr | allocator |
math::Point3f | translation |
The order of operations is: scale, then rotate, then translate. More... | |
float | scale |
math::Matrix3f | rotation |
VertexType | vertex_type |
gfx::BufferObject::UsageMode | usage_mode |
UsageMode for all created BufferObject instances. More... | |
Ellipsoid.
This struct is used to specify details of the construction of an ellipsoid shape for BuildEllipsoidShape(). An ellipsoid is axis-aligned and consists of a series of latitudinal bands, each of which is divided into longitudinal sectors. If the number of specified bands is less than 2, it is considered to be 2. If the number of specified sectors is less than 3, it is considered to be 3. The ellipsoid is oriented with the north pole at +Y. S texture coordinates increase from west to east, with the seam at -Z. T texture coordinates range from 0 at the south pole to 1 at the north pole. It is possible to build a fraction of an ellipsoid by specifying start and end angles for longitude and latitude. Latitude of 90 degrees corresponds to the north pole, latitude of -90 degrees corresponds to the south pole. Longitude of 0 corresponds to the seam at -Z, longitude of 180 degrees corresponds to +Z. If a fraction of an ellipsoid is requested, the size parameter still corresponds to the bounding box that the full ellipsoid would occupy.
Definition at line 238 of file shapeutils.h.
|
inherited |
This enum is used to specify what per-vertex attributes should be included in a Shape.
Only the three geometric attributes available in the global registry ("aVertex", "aNormal", and "aTexCoords") are supported.
Enumerator | |
---|---|
kPosition | |
kPositionTexCoords | |
kPositionNormal | |
kPositionTexCoordsNormal |
Definition at line 44 of file shapeutils.h.
|
inline |
Definition at line 239 of file shapeutils.h.
|
inherited |
Definition at line 55 of file shapeutils.h.
Referenced by ion::gfxutils::BuildBoxShape(), ion::gfxutils::BuildCylinderShape(), ion::gfxutils::BuildEllipsoidShape(), ion::gfxutils::BuildRectangleShape(), ion::gfxutils::BuildRegularPolygonShape(), and ion::gfxutils::LoadExternalShape().
size_t ion::gfxutils::EllipsoidSpec::band_count |
Definition at line 252 of file shapeutils.h.
math::Anglef ion::gfxutils::EllipsoidSpec::latitude_end |
Definition at line 251 of file shapeutils.h.
math::Anglef ion::gfxutils::EllipsoidSpec::latitude_start |
Definition at line 250 of file shapeutils.h.
math::Anglef ion::gfxutils::EllipsoidSpec::longitude_end |
Definition at line 249 of file shapeutils.h.
math::Anglef ion::gfxutils::EllipsoidSpec::longitude_start |
Definition at line 248 of file shapeutils.h.
|
inherited |
Definition at line 59 of file shapeutils.h.
|
inherited |
Definition at line 58 of file shapeutils.h.
size_t ion::gfxutils::EllipsoidSpec::sector_count |
Definition at line 253 of file shapeutils.h.
math::Vector3f ion::gfxutils::EllipsoidSpec::size |
Definition at line 254 of file shapeutils.h.
|
inherited |
The order of operations is: scale, then rotate, then translate.
Definition at line 57 of file shapeutils.h.
|
inherited |
UsageMode for all created BufferObject instances.
This also affects whether data is considered wipeable. (gfx::BufferObject::kStaticDraw).
Definition at line 63 of file shapeutils.h.
|
inherited |
Definition at line 60 of file shapeutils.h.