Use forward declaration in libgraphics

This commit is contained in:
Vsevolod Kremianskii 2021-06-20 12:41:39 +07:00
parent fdda384297
commit ad6df32c97
74 changed files with 289 additions and 105 deletions

View file

@ -20,7 +20,12 @@
#include "audio/player.h"
#include "audio/services.h"
#include "game/game.h"
#include "graphics/context.h"
#include "graphics/features.h"
#include "graphics/lip/lips.h"
#include "graphics/model/models.h"
#include "graphics/services.h"
#include "graphics/walkmesh/walkmeshes.h"
#include "resource/resourceprovider.h"
#include "resource/services.h"
#include "scene/services.h"

View file

@ -20,6 +20,7 @@
#include "../common/log.h"
#include "../graphics/font.h"
#include "../graphics/fonts.h"
#include "../graphics/mesh/mesh.h"
#include "../graphics/mesh/meshes.h"
#include "../graphics/shader/shaders.h"
#include "../graphics/window.h"

View file

@ -18,7 +18,11 @@
#include "cursors.h"
#include "../common/streamutil.h"
#include "../graphics/cursor.h"
#include "../graphics/services.h"
#include "../graphics/texture/curreader.h"
#include "../resource/resources.h"
#include "../resource/services.h"
using namespace std;

View file

@ -17,13 +17,24 @@
#pragma once
#include "../graphics/services.h"
#include "../resource/services.h"
#include "types.h"
namespace reone {
namespace resource {
class ResourceServices;
}
namespace graphics {
class Cursor;
class GraphicsServices;
class Texture;
}
namespace game {
class Cursors : boost::noncopyable {

View file

@ -19,6 +19,7 @@
#include "../../common/collectionutil.h"
#include "../../resource/2da.h"
#include "../../resource/resources.h"
#include "../../resource/strings.h"
using namespace std;

View file

@ -18,7 +18,9 @@
#include "skills.h"
#include "../../common/collectionutil.h"
#include "../../graphics/texture/textures.h"
#include "../../resource/2da.h"
#include "../../resource/resources.h"
#include "../../resource/strings.h"
using namespace std;

View file

@ -17,9 +17,13 @@
#include "game.h"
#include "../audio/player.h"
#include "../common/log.h"
#include "../common/pathutil.h"
#include "../audio/player.h"
#include "../graphics/features.h"
#include "../graphics/lip/lips.h"
#include "../graphics/model/models.h"
#include "../graphics/walkmesh/walkmeshes.h"
#include "../video/bikreader.h"
using namespace std;

View file

@ -22,6 +22,7 @@
#include "../../common/log.h"
#include "../../gui/control/listbox.h"
#include "../../graphics/lip/lips.h"
#include "../../graphics/model/animation.h"
#include "../../graphics/model/models.h"
#include "../../resource/resources.h"

View file

@ -19,6 +19,7 @@
#include "../../common/log.h"
#include "../../gui/control/label.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h"
#include "../../graphics/window.h"

View file

@ -19,6 +19,7 @@
#include "../../common/guardutil.h"
#include "../../graphics/fonts.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h"
#include "../../graphics/textutil.h"

View file

@ -21,6 +21,7 @@
#include "../../graphics/context.h"
#include "../../graphics/font.h"
#include "../../graphics/fonts.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h"
#include "../../graphics/texture/texture.h"

View file

@ -20,6 +20,7 @@
#include "../common/log.h"
#include "../common/guardutil.h"
#include "../graphics/context.h"
#include "../graphics/mesh/mesh.h"
#include "../graphics/mesh/meshes.h"
#include "../graphics/texture/textures.h"
#include "../graphics/window.h"

View file

@ -22,6 +22,7 @@
#include "../../common/random.h"
#include "../../common/streamutil.h"
#include "../../graphics/baryutil.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h"
#include "../../graphics/model/models.h"
#include "../../graphics/texture/textures.h"

View file

@ -19,7 +19,13 @@
#include "../common/guardutil.h"
#include "context.h"
#include "mesh/mesh.h"
#include "mesh/meshes.h"
#include "shader/shaders.h"
#include "services.h"
#include "texture/texture.h"
#include "window.h"
using namespace std;

View file

@ -17,13 +17,12 @@
#pragma once
#include "texture/texture.h"
namespace reone {
namespace graphics {
class GraphicsServices;
class Texture;
class Cursor : boost::noncopyable {
public:

View file

@ -19,6 +19,13 @@
#include "../common/guardutil.h"
#include "context.h"
#include "mesh/mesh.h"
#include "mesh/meshes.h"
#include "shader/shaders.h"
#include "texture/texture.h"
#include "window.h"
using namespace std;
namespace reone {

View file

@ -17,12 +17,6 @@
#pragma once
#include "context.h"
#include "mesh/meshes.h"
#include "shader/shaders.h"
#include "texture/texture.h"
#include "window.h"
namespace reone {
namespace graphics {
@ -37,6 +31,12 @@ enum class TextGravity {
RightTop
};
class Context;
class Meshes;
class Shaders;
class Texture;
class Window;
class Font {
public:
Font(Window &window, Context &context, Meshes &meshes, Shaders &shaders);

View file

@ -17,6 +17,12 @@
#include "fonts.h"
#include "context.h"
#include "mesh/meshes.h"
#include "shader/shaders.h"
#include "texture/textures.h"
#include "window.h"
using namespace std;
using namespace std::placeholders;

View file

@ -19,17 +19,17 @@
#include "../common/cache.h"
#include "context.h"
#include "font.h"
#include "mesh/meshes.h"
#include "shader/shaders.h"
#include "texture/textures.h"
#include "window.h"
namespace reone {
namespace graphics {
class Context;
class Meshes;
class Shaders;
class Textures;
class Fonts : public MemoryCache<std::string, Font> {
public:
Fonts(Window &window, Context &context, Meshes &meshes, Textures &textures, Shaders &shaders);

View file

@ -17,6 +17,9 @@
#include "framebuffer.h"
#include "renderbuffer.h"
#include "texture/texture.h"
using namespace std;
namespace reone {

View file

@ -17,13 +17,15 @@
#pragma once
#include "renderbuffer.h"
#include "texture/texture.h"
#include "types.h"
namespace reone {
namespace graphics {
class Renderbuffer;
class Texture;
/**
* Abstraction over the OpenGL framebuffer used for off-screen rendering.
*/

View file

@ -17,6 +17,8 @@
#include "lipreader.h"
#include "animation.h"
using namespace std;
namespace reone {

View file

@ -19,12 +19,12 @@
#include "../../resource/format/binreader.h"
#include "animation.h"
namespace reone {
namespace graphics {
class LipAnimation;
class LipReader : public resource::BinaryReader {
public:
LipReader();

View file

@ -19,6 +19,7 @@
#include "lips.h"
#include "../../common/streamutil.h"
#include "../../resource/resources.h"
#include "lipreader.h"

View file

@ -18,12 +18,17 @@
#pragma once
#include "../../common/cache.h"
#include "../../resource/resources.h"
#include "animation.h"
namespace reone {
namespace resource {
class Resources;
}
namespace graphics {
class Lips : public MemoryCache<std::string, LipAnimation> {

View file

@ -19,6 +19,9 @@
#include "../common/collectionutil.h"
#include "../resource/2da.h"
#include "../resource/resources.h"
#include "material.h"
using namespace std;

View file

@ -17,14 +17,18 @@
#pragma once
#include "../resource/resources.h"
#include "material.h"
namespace reone {
namespace resource {
class Resources;
}
namespace graphics {
struct Material;
class Materials : boost::noncopyable {
public:
Materials(resource::Resources &resources);

View file

@ -18,6 +18,8 @@
#include "meshes.h"
#include "mesh.h"
using namespace std;
namespace reone {

View file

@ -17,12 +17,12 @@
#pragma once
#include "mesh.h"
namespace reone {
namespace graphics {
class Mesh;
/**
* Registry of common reusable meshes.
*/

View file

@ -19,6 +19,8 @@
#include "../../common/collectionutil.h"
#include "modelnode.h"
using namespace std;
namespace reone {

View file

@ -17,12 +17,12 @@
#pragma once
#include "modelnode.h"
namespace reone {
namespace graphics {
class ModelNode;
class Animation : boost::noncopyable {
public:
struct Event {

View file

@ -18,11 +18,14 @@
#include "mdlreader.h"
#include "../../common/collectionutil.h"
#include "../../common/guardutil.h"
#include "../../common/log.h"
#include "../mesh/mesh.h"
#include "../mesh/vertexattributes.h"
#include "../texture/textures.h"
#include "animation.h"
#include "model.h"
#include "models.h"
using namespace std;
@ -72,14 +75,11 @@ static Model::Classification getClassification(uint8_t ordinal) {
// END Classification
MdlReader::MdlReader(Models *models, Textures *textures) :
MdlReader::MdlReader(Models &models, Textures &textures) :
BinaryReader(4, "\000\000\000\000"),
_models(models),
_textures(textures) {
ensureNotNull(models, "models");
ensureNotNull(textures, "textures");
initControllerFn();
}
@ -140,7 +140,7 @@ void MdlReader::doLoad() {
// Load supermodel
shared_ptr<Model> superModel;
if (!superModelName.empty() && superModelName != "null") {
superModel = _models->get(superModelName);
superModel = _models.get(superModelName);
}
// Read animations
@ -455,11 +455,11 @@ shared_ptr<ModelNode::TriangleMesh> MdlReader::readMesh(int flags) {
}
shared_ptr<Texture> diffuseMap;
if (!texture1.empty() && texture1 != "null") {
diffuseMap = _textures->get(texture1, TextureUsage::Diffuse);
diffuseMap = _textures.get(texture1, TextureUsage::Diffuse);
}
shared_ptr<Texture> lightmap;
if (!texture2.empty()) {
lightmap = _textures->get(texture2, TextureUsage::Lightmap);
lightmap = _textures.get(texture2, TextureUsage::Lightmap);
}
auto nodeMesh = make_unique<ModelNode::TriangleMesh>();
@ -546,7 +546,7 @@ shared_ptr<ModelNode::Light> MdlReader::readLight() {
for (int i = 0; i < numFlares; ++i) {
seek(kMdlDataOffset + texNameOffsets[i]);
string textureName(boost::to_lower_copy(readCString(12)));
shared_ptr<Texture> texture(_textures->get(textureName));
shared_ptr<Texture> texture(_textures.get(textureName));
flareTextures.push_back(move(texture));
}
@ -635,7 +635,7 @@ shared_ptr<ModelNode::Emitter> MdlReader::readEmitter() {
emitter->updateMode = parseEmitterUpdate(update);
emitter->renderMode = parseEmitterRender(render);
emitter->blendMode = parseEmitterBlend(blend);
emitter->texture = _textures->get(texture, TextureUsage::Diffuse);
emitter->texture = _textures.get(texture, TextureUsage::Diffuse);
emitter->gridSize = glm::ivec2(glm::max(xGrid, 1u), glm::max(yGrid, 1u));
emitter->renderOrder = renderOrder;
emitter->loop = static_cast<bool>(loop);
@ -650,7 +650,7 @@ shared_ptr<ModelNode::Reference> MdlReader::readReference() {
uint32_t reattachable = readUint32();
auto reference = make_shared<ModelNode::Reference>();
reference->model = _models->get(modelResRef);
reference->model = _models.get(modelResRef);
reference->reattachable = static_cast<bool>(reattachable);
return move(reference);

View file

@ -17,19 +17,22 @@
#pragma once
#include "../../graphics/model/models.h"
#include "../../graphics/texture/textures.h"
#include "../../resource/format/binreader.h"
#include "model.h"
#include "modelnode.h"
namespace reone {
namespace graphics {
class Animation;
class Model;
class Models;
class Textures;
class MdlReader : public resource::BinaryReader {
public:
MdlReader(Models *models, Textures *textures);
MdlReader(Models &models, Textures &textures);
void load(const std::shared_ptr<std::istream> &mdl, const std::shared_ptr<std::istream> &mdx);
@ -67,8 +70,8 @@ private:
typedef std::unordered_map<uint32_t, std::vector<uint32_t>> MaterialMap;
typedef std::function<void(const ControllerKey &, const std::vector<float> &, ModelNode &)> ControllerFn;
Models *_models;
Textures *_textures;
Models &_models;
Textures &_textures;
std::unordered_map<uint32_t, ControllerFn> _genericControllers;
std::unordered_map<uint32_t, ControllerFn> _meshControllers;

View file

@ -21,6 +21,11 @@
#include "../../common/guardutil.h"
#include "../../common/log.h"
#include "../mesh/mesh.h"
#include "animation.h"
#include "modelnode.h"
using namespace std;
namespace reone {

View file

@ -19,12 +19,13 @@
#include "../aabb.h"
#include "animation.h"
namespace reone {
namespace graphics {
class Animation;
class ModelNode;
/**
* 3D model, a tree-like data structure. Contains model nodes and animations.
*

View file

@ -19,6 +19,9 @@
#include "../../common/log.h"
#include "../mesh/mesh.h"
#include "../texture/texture.h"
using namespace std;
namespace reone {

View file

@ -17,20 +17,21 @@
#pragma once
#include "../mesh/mesh.h"
#include "../texture/texture.h"
#include "../aabb.h"
#include "animatedproperty.h"
namespace reone {
namespace graphics {
#define REO_DECL_ANIMPROP(a, b, c) \
const AnimatedProperty<a> &b() const { return c; }; \
AnimatedProperty<a> &b() { return c; };
namespace reone {
namespace graphics {
class Mesh;
class Model;
class Texture;
/**
* Model or animation node. Can be specialized to represent a triangle mesh, a

View file

@ -19,8 +19,12 @@
#include "../../common/log.h"
#include "../../common/streamutil.h"
#include "../../resource/resources.h"
#include "../model/mdlreader.h"
#include "../texture/textures.h"
#include "mdlreader.h"
#include "model.h"
using namespace std;
@ -55,7 +59,7 @@ shared_ptr<Model> Models::doGet(const string &resRef) {
shared_ptr<Model> model;
if (mdlData && mdxData) {
MdlReader mdl(this, &_textures);
MdlReader mdl(*this, _textures);
mdl.load(wrap(mdlData), wrap(mdxData));
model = mdl.model();
if (model) {

View file

@ -17,16 +17,20 @@
#pragma once
#include "../../resource/resources.h"
#include "../texture/textures.h"
#include "../types.h"
namespace reone {
namespace resource {
class Resources;
}
namespace graphics {
class Model;
class Textures;
class Models : boost::noncopyable {
public:

View file

@ -17,7 +17,12 @@
#include "pbribl.h"
#include "context.h"
#include "mesh/mesh.h"
#include "mesh/meshes.h"
#include "renderbuffer.h"
#include "shader/shaders.h"
#include "texture/texture.h"
#include "texture/textureutil.h"
using namespace std;

View file

@ -17,16 +17,17 @@
#pragma once
#include "context.h"
#include "framebuffer.h"
#include "mesh/meshes.h"
#include "shader/shaders.h"
#include "texture/texture.h"
namespace reone {
namespace graphics {
class Context;
class Meshes;
class Shaders;
class Texture;
/**
* Computes and caches PBR IBL textures, i.e. irradiance maps, prefiltered
* environment maps and BRDF lookup textures.

View file

@ -17,6 +17,23 @@
#include "services.h"
#include "../resource/services.h"
#include "context.h"
#include "features.h"
#include "fonts.h"
#include "lip/lips.h"
#include "materials.h"
#include "mesh/mesh.h"
#include "mesh/meshes.h"
#include "model/models.h"
#include "options.h"
#include "pbribl.h"
#include "shader/shaders.h"
#include "texture/textures.h"
#include "walkmesh/walkmeshes.h"
#include "window.h"
using namespace std;
using namespace reone::resource;

View file

@ -17,26 +17,31 @@
#pragma once
#include "../resource/services.h"
#include "context.h"
#include "features.h"
#include "fonts.h"
#include "lip/lips.h"
#include "materials.h"
#include "mesh/meshes.h"
#include "model/models.h"
#include "options.h"
#include "pbribl.h"
#include "shader/shaders.h"
#include "texture/textures.h"
#include "walkmesh/walkmeshes.h"
#include "window.h"
namespace reone {
namespace resource {
class ResourceServices;
}
namespace graphics {
class Context;
class Features;
class Fonts;
class Lips;
class Materials;
class Meshes;
class Models;
class PBRIBL;
class Shaders;
class Textures;
class Walkmeshes;
class Window;
class GraphicsServices : boost::noncopyable {
public:
GraphicsServices(GraphicsOptions options, resource::ResourceServices &resource);

View file

@ -17,6 +17,7 @@
#include "curreader.h"
#include "texture.h"
#include "textureutil.h"
using namespace std;

View file

@ -19,12 +19,12 @@
#include "../../resource/format/binreader.h"
#include "texture.h"
namespace reone {
namespace graphics {
class Texture;
class CurReader : public resource::BinaryReader {
public:
CurReader();

View file

@ -19,11 +19,14 @@
#include "../../common/log.h"
#include "../../common/streamutil.h"
#include "../../resource/resources.h"
#include "../context.h"
#include "../services.h"
#include "../types.h"
#include "curreader.h"
#include "texture.h"
#include "textureutil.h"
#include "tgareader.h"
#include "tpcreader.h"

View file

@ -17,17 +17,21 @@
#pragma once
#include "../../resource/resources.h"
#include "../context.h"
#include "../types.h"
#include "texture.h"
namespace reone {
namespace resource {
class Resources;
}
namespace graphics {
class Context;
class Texture;
class Textures : boost::noncopyable {
public:
Textures(Context &context, resource::Resources &resources);

View file

@ -19,6 +19,7 @@
#include "../../common/log.h"
#include "texture.h"
#include "textureutil.h"
using namespace std;

View file

@ -21,12 +21,12 @@
#include "../types.h"
#include "texture.h"
namespace reone {
namespace graphics {
class Texture;
class TgaReader : public resource::BinaryReader {
public:
TgaReader(const std::string &resRef, TextureUsage usage);

View file

@ -21,9 +21,11 @@
#include "tgawriter.h"
#include "s3tc.h"
#include "../../common/guardutil.h"
#include "s3tc.h"
#include "texture.h"
using namespace std;

View file

@ -17,12 +17,14 @@
#pragma once
#include "texture.h"
#include "../types.h"
namespace reone {
namespace graphics {
class Texture;
class TgaWriter {
public:
TgaWriter(std::shared_ptr<Texture> texture);

View file

@ -17,6 +17,8 @@
#include "bwmreader.h"
#include "walkmesh.h"
using namespace std;
namespace reone {

View file

@ -19,12 +19,12 @@
#include "../../resource/format/binreader.h"
#include "walkmesh.h"
namespace reone {
namespace graphics {
class Walkmesh;
class BwmReader : public resource::BinaryReader {
public:
BwmReader(std::set<uint32_t> walkableSurfaces);

View file

@ -18,6 +18,7 @@
#include "walkmeshes.h"
#include "../../common/streamutil.h"
#include "../../resource/resources.h"
#include "bwmreader.h"

View file

@ -17,13 +17,18 @@
#pragma once
#include "../../resource/resources.h"
#include "../../resource/types.h"
#include "../types.h"
namespace reone {
namespace resource {
class Resources;
}
namespace graphics {
class Walkmesh;

View file

@ -17,16 +17,16 @@
#pragma once
#include "cursor.h"
#include "eventhandler.h"
#include "options.h"
#include "texture/texture.h"
#include "types.h"
namespace reone {
namespace graphics {
class Cursor;
class IEventHandler;
class Window : boost::noncopyable {
public:
Window(GraphicsOptions options);

View file

@ -18,7 +18,9 @@
#include "control.h"
#include "../../common/log.h"
#include "../../graphics/context.h"
#include "../../graphics/fonts.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h"
#include "../../graphics/texture/textures.h"

View file

@ -17,7 +17,9 @@
#include "imagebutton.h"
#include "../../graphics/context.h"
#include "../../graphics/fonts.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h"
#include "../gui.h"

View file

@ -17,6 +17,8 @@
#include "progressbar.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h"
#include "../../graphics/texture/textures.h"

View file

@ -17,6 +17,8 @@
#include "scrollbar.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h"
#include "../../graphics/texture/textures.h"

View file

@ -18,6 +18,8 @@
#include "gui.h"
#include "../common/log.h"
#include "../graphics/context.h"
#include "../graphics/mesh/mesh.h"
#include "../graphics/mesh/meshes.h"
#include "../graphics/shader/shaders.h"
#include "../graphics/texture/textures.h"

View file

@ -17,21 +17,16 @@
#pragma once
#include "../../common/types.h"
#include "../types.h"
#include "binreader.h"
namespace reone {
namespace resource {
enum class PEResourceType {
Cursor = 1,
Icon = 3,
CursorGroup = 12,
IconGroup = 14,
Version = 16,
Manifest = 24
};
class PEReader : public BinaryReader {
public:
PEReader();
@ -39,7 +34,6 @@ public:
std::shared_ptr<ByteArray> find(uint32_t name, PEResourceType type);
private:
struct Section {
std::string name;
uint32_t virtualAddress { 0 };

View file

@ -83,6 +83,15 @@ enum class ResourceType : uint16_t {
Invalid = 0xffff
};
enum class PEResourceType {
Cursor = 1,
Icon = 3,
CursorGroup = 12,
IconGroup = 14,
Version = 16,
Manifest = 24
};
typedef std::multimap<std::string, std::string> Visibility;
} // namespace resource

View file

@ -19,6 +19,8 @@
#include "../../common/guardutil.h"
#include "../../common/random.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h"

View file

@ -18,6 +18,8 @@
#include "grass.h"
#include "../../common/guardutil.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h"

View file

@ -18,6 +18,8 @@
#include "light.h"
#include "../../common/guardutil.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h"
#include "../../graphics/window.h"

View file

@ -20,6 +20,9 @@
#include "../../common/log.h"
#include "../../common/guardutil.h"
#include "../../common/random.h"
#include "../../graphics/context.h"
#include "../../graphics/features.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/pbribl.h"
#include "../scenegraph.h"

View file

@ -18,6 +18,7 @@
#include "../../common/collectionutil.h"
#include "../../common/log.h"
#include "../../common/guardutil.h"
#include "../../graphics/mesh/mesh.h"
#include "../scenegraph.h"
#include "../types.h"

View file

@ -18,6 +18,7 @@
#include "model.h"
#include "../../common/collectionutil.h"
#include "../../graphics/model/animation.h"
using namespace std;

View file

@ -17,6 +17,8 @@
#include "control.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h"
#include "../../graphics/texture/textures.h"

View file

@ -17,6 +17,8 @@
#include "world.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h"
#include "../../graphics/pbribl.h"
#include "../../graphics/shader/shaders.h"

View file

@ -17,6 +17,8 @@
#include "scenegraph.h"
#include "../graphics/context.h"
#include "../graphics/mesh/mesh.h"
#include "../graphics/mesh/meshes.h"
#include "node/camera.h"

View file

@ -18,6 +18,8 @@
#include "video.h"
#include "../common/guardutil.h"
#include "../graphics/context.h"
#include "../graphics/mesh/mesh.h"
#include "../graphics/mesh/meshes.h"
#include "../graphics/shader/shaders.h"
#include "../graphics/texture/textureutil.h"

View file

@ -24,6 +24,12 @@
namespace reone {
namespace graphics {
class Texture;
}
namespace video {
class BikReader;