28 lines
588 B
C
28 lines
588 B
C
|
// Copyright 2024 SquareBlock Inc. All Rights Reserved.
|
||
|
// Author: tianlei.richard@qq.com (tianlei.richard)
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include <filesystem>
|
||
|
#include <opencv2/core/core.hpp>
|
||
|
#include <vector>
|
||
|
|
||
|
#include "common.h"
|
||
|
|
||
|
// Bling-Phone Matrerial
|
||
|
class PhoneMaterial {
|
||
|
public:
|
||
|
using TextureId = uint32_t;
|
||
|
|
||
|
PhoneMaterial(const std::vector<std::filesystem::path> &texture_path);
|
||
|
|
||
|
public:
|
||
|
cv::Vec3b sample_texture(const TextureId texture_id,
|
||
|
const Point2d &texture_coordinate);
|
||
|
|
||
|
private:
|
||
|
std::vector<cv::Mat> textures_;
|
||
|
|
||
|
uint32_t illumination_intensity_;
|
||
|
};
|