nngn
Loading...
Searching...
No Matches
obj.h File Reference
#include <concepts>
#include <iomanip>
#include <istream>
#include <ranges>
#include <sstream>
#include "math/vec3.h"
#include "utils/log.h"
#include "utils/span.h"
Include dependency graph for obj.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  nngn
 
namespace  nngn::detail
 

Functions

bool nngn::detail::obj_invalid (std::size_t i, std::string_view line)
 
std::string_view nngn::detail::obj_parse_line (const char *p, std::streamsize n)
 
bool nngn::detail::obj_read_vec (std::size_t line, std::string_view args, const char *name, vec3 *v)
 
bool nngn::detail::obj_read_face_indices (std::size_t line, std::string_view args, std::string_view *ps, zvec3 *pv)
 
bool nngn::parse_obj (std::istream *f, std::span< char > buffer, std::invocable< vec3 > auto &&vertex, std::invocable< vec3 > auto &&tex, std::invocable< vec3 > auto &&normal, std::invocable< std::array< zvec3, 3 > > auto &&face)
 Processes an OBJ file using the callable arguments.