MXVK Vulkan Framework 0.24.0
C++20 Vulkan rendering framework for practical 2D and 3D application development with SDL3.
Loading...
Searching...
No Matches
mxvk_math_obj.hpp File Reference
#include <algorithm>
#include <array>
#include <cmath>
#include <cstddef>
#include <exception>
#include <filesystem>
#include <fstream>
#include <sstream>
#include <string>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  mxvk::detail::OBJIndex
struct  mxvk::detail::OBJLoadResult
struct  mxvk::OBJMaterial
 Wavefront material data used by the software rasterizer. More...
struct  mxvk::detail::OBJTriangle
struct  mxvk::detail::OBJVertex

Namespaces

namespace  mxvk
 Utilities for loading and saving PNG images.
namespace  mxvk::detail

Functions

void mxvk::detail::append_obj_triangle (const std::vector< OBJVertex > &face, std::size_t a, std::size_t b, std::size_t c, const std::string &material_name, const std::string &object_name, std::vector< OBJTriangle > &triangles)
bool mxvk::detail::load_mtl_file (const std::string &path, std::vector< OBJMaterial > &materials, std::string &error)
bool mxvk::detail::load_obj_file (const std::string &path, OBJLoadResult &result, std::string &error)
float mxvk::detail::obj_edge_cross (const OBJVertex &a, const OBJVertex &b, const OBJVertex &c, int drop_axis)
std::array< float, 3 > mxvk::detail::obj_face_normal (const OBJVertex &a, const OBJVertex &b, const OBJVertex &c)
bool mxvk::detail::obj_point_in_triangle (const OBJVertex &point, const OBJVertex &a, const OBJVertex &b, const OBJVertex &c, int drop_axis, float winding)
float mxvk::detail::obj_projected_area (const std::vector< OBJVertex > &face, int drop_axis)
std::string mxvk::detail::parse_mtl_texture_path (std::istream &stream)
bool mxvk::detail::parse_obj_face_token (const std::string &token, OBJIndex &index)
bool mxvk::detail::parse_obj_index_value (const std::string &text, int &value)
template<typename T>
int mxvk::detail::resolve_obj_index (int index, const std::vector< T > &values)
std::string mxvk::detail::resolve_obj_path (const std::filesystem::path &base, const std::string &path)
void mxvk::detail::strip_obj_comment (std::string &text)
void mxvk::detail::triangulate_obj_face (const std::vector< OBJVertex > &face, const std::string &material_name, const std::string &object_name, std::vector< OBJTriangle > &triangles)
void mxvk::detail::trim_obj_line (std::string &text)