
#ifndef TBARREL_PBR_H_INCLUDED
#define TBARREL_PBR_H_INCLUDED

/*
OBJET       exemple test shLight et shLight_pbr

DATE        04/2025

AUTEUR      philippe Thebaud

COMMENTAIRE
*/

#include <GL/glew.h>
#include <string>

#include "../ECO/OUtils.h"
#include "../ECO/OMesh_obj.h"
#include "../ECO/OMesh_gltf.h"
#include "../ECO/shader/OShLight.h"
#include "../ECO/shader/OShLight_pbr.h"

#include "common.h"



class Tbarrel_pbr
{
public:
	Tbarrel_pbr();
	~Tbarrel_pbr();

    void        create(std::string flux);

	void        draw(OShLight& shLight);
    void        draw(OShLight_pbr& shLight_pbr);

private:

    void        _composition();

	void		_setModel();

private:

    std::string m_code, m_path, m_file;
	bool        m_cull_face;
	OMesh_gltf  mesh;

    OMat4       m_model;
    OVec3_f     m_pos, m_rot;

};

#endif
