Added an environment to the example game; AssetPack changes
This commit is contained in:
1 parent
a1fe7c3c1a
commit
be06ee2d20
8 files changed
+196320
-41
No files matched your search
@@ -250,13 +250,21 @@ namespace nf {
|
||||
}
|
||||
}
|
||||
|
||||
Asset* AssetPack::operator[](const char* in) {
|
||||
Asset* AssetPack::get(const char* in) {
|
||||
if (m_assets.find(in) == m_assets.end())
|
||||
Error("Could not find asset \"" + (std::string)in + (std::string)"\" in asset pack!");
|
||||
return m_assets[in];
|
||||
}
|
||||
|
||||
Asset* AssetPack::get(std::string& in) {
|
||||
return get(in.c_str());
|
||||
}
|
||||
|
||||
Asset* AssetPack::operator[](const char* in) {
|
||||
return get(in);
|
||||
}
|
||||
Asset* AssetPack::operator[](std::string& in) {
|
||||
return operator[](in.c_str());
|
||||
return get(in.c_str());
|
||||
}
|
||||
|
||||
void AssetPack::destroy() {
|
||||
|
||||
@@ -71,6 +71,11 @@ namespace nf {
|
||||
usingMat = matName;
|
||||
}
|
||||
else if (std::strcmp(&firstWord[0], "f") == 0) {
|
||||
if (!tcPresent)
|
||||
Error("No texture coordinates found in model!");
|
||||
if (!vnPresent)
|
||||
Error("No normals found in model!");
|
||||
|
||||
unsigned int vertexIndex[3], uvIndex[3], vnIndex[3];
|
||||
char temp;
|
||||
ss >> vertexIndex[0] >> temp >> uvIndex[0] >> temp >> vnIndex[0] >> vertexIndex[1] >> temp >> uvIndex[1] >> temp >> vnIndex[1] >> vertexIndex[2] >> temp >> uvIndex[2] >> temp >> vnIndex[2];
|
||||
@@ -88,11 +93,6 @@ namespace nf {
|
||||
}
|
||||
}
|
||||
|
||||
if (!tcPresent)
|
||||
Error("No texture coordinates found in model!");
|
||||
if (!vnPresent)
|
||||
Error("No normals found in model!");
|
||||
|
||||
for (auto& m : mats) {
|
||||
std::string curr = m.first;
|
||||
for (unsigned int i = 0; i < mats[curr]->vbIndices.size(); i++) {
|
||||
|
||||
@@ -372,42 +372,42 @@ namespace nf {
|
||||
|
||||
void Renderer::loadBaseAssets() {
|
||||
m_baseAP.load("base.nfpack");
|
||||
const char* gBufferVertex = m_baseAP["gBufferVertex.shader"]->data;
|
||||
const char* gBufferFragment = m_baseAP["gBufferFragment.shader"]->data;
|
||||
const char* gBufferVertex = m_baseAP.get("gBufferVertex.shader")->data;
|
||||
const char* gBufferFragment = m_baseAP.get("gBufferFragment.shader")->data;
|
||||
m_gBufferShader = new Shader(gBufferVertex, gBufferFragment);
|
||||
const char* lightingVertex = m_baseAP["lightingVertex.shader"]->data;
|
||||
const char* lightingFragment = m_baseAP["lightingFragment.shader"]->data;
|
||||
const char* lightingVertex = m_baseAP.get("lightingVertex.shader")->data;
|
||||
const char* lightingFragment = m_baseAP.get("lightingFragment.shader")->data;
|
||||
m_lightingShader = new Shader(lightingVertex, lightingFragment);
|
||||
const char* textVertex = m_baseAP["textVertex.shader"]->data;
|
||||
const char* textFragment = m_baseAP["textFragment.shader"]->data;
|
||||
const char* textVertex = m_baseAP.get("textVertex.shader")->data;
|
||||
const char* textFragment = m_baseAP.get("textFragment.shader")->data;
|
||||
m_textShader = new Shader(textVertex, textFragment);
|
||||
const char* uiTextureVertex = m_baseAP["uiTextureVertex.shader"]->data;
|
||||
const char* uiTextureFragment = m_baseAP["uiTextureFragment.shader"]->data;
|
||||
const char* uiTextureVertex = m_baseAP.get("uiTextureVertex.shader")->data;
|
||||
const char* uiTextureFragment = m_baseAP.get("uiTextureFragment.shader")->data;
|
||||
m_uiTextureShader = new Shader(uiTextureVertex, uiTextureFragment);
|
||||
const char* cubemapVertex = m_baseAP["cubemapVertex.shader"]->data;
|
||||
const char* cubemapFragment = m_baseAP["cubemapFragment.shader"]->data;
|
||||
const char* cubemapVertex = m_baseAP.get("cubemapVertex.shader")->data;
|
||||
const char* cubemapFragment = m_baseAP.get("cubemapFragment.shader")->data;
|
||||
m_cubemapShader = new Shader(cubemapVertex, cubemapFragment);
|
||||
const char* fadeVertex = m_baseAP["fadeVertex.shader"]->data;
|
||||
const char* fadeFragment = m_baseAP["fadeFragment.shader"]->data;
|
||||
const char* fadeVertex = m_baseAP.get("fadeVertex.shader")->data;
|
||||
const char* fadeFragment = m_baseAP.get("fadeFragment.shader")->data;
|
||||
m_fadeShader = new Shader(fadeVertex, fadeFragment);
|
||||
const char* directionalShadowVertex = m_baseAP["directionalShadowVertex.shader"]->data;
|
||||
const char* directionalShadowFragment = m_baseAP["directionalShadowFragment.shader"]->data;
|
||||
const char* directionalShadowVertex = m_baseAP.get("directionalShadowVertex.shader")->data;
|
||||
const char* directionalShadowFragment = m_baseAP.get("directionalShadowFragment.shader")->data;
|
||||
m_directionalShadowShader = new Shader(directionalShadowVertex, directionalShadowFragment);
|
||||
const char* pointShadowVertex = m_baseAP["pointShadowVertex.shader"]->data;
|
||||
const char* pointShadowGeometry = m_baseAP["pointShadowGeometry.shader"]->data;
|
||||
const char* pointShadowFragment = m_baseAP["pointShadowFragment.shader"]->data;
|
||||
const char* pointShadowVertex = m_baseAP.get("pointShadowVertex.shader")->data;
|
||||
const char* pointShadowGeometry = m_baseAP.get("pointShadowGeometry.shader")->data;
|
||||
const char* pointShadowFragment = m_baseAP.get("pointShadowFragment.shader")->data;
|
||||
m_pointShadowShader = new Shader(pointShadowVertex, pointShadowFragment, pointShadowGeometry);
|
||||
|
||||
BaseAssets::cube = (AModel*)m_baseAP["cube.obj"];
|
||||
BaseAssets::plane = (AModel*)m_baseAP["plane.obj"];
|
||||
BaseAssets::sphere = (AModel*)m_baseAP["sphere.obj"];
|
||||
BaseAssets::cone = (AModel*)m_baseAP["cone.obj"];
|
||||
BaseAssets::cylinder = (AModel*)m_baseAP["cylinder.obj"];
|
||||
BaseAssets::torus = (AModel*)m_baseAP["torus.obj"];
|
||||
BaseAssets::logo = (ATexture*)m_baseAP["logo.png"];
|
||||
BaseAssets::cubemap = (ACubemap*)m_baseAP["default.cm"];
|
||||
BaseAssets::font = (AFont*)m_baseAP["default.ttf"];
|
||||
BaseAssets::button = (AButton*)m_baseAP["default.button"];
|
||||
BaseAssets::cube = (AModel*)m_baseAP.get("cube.obj");
|
||||
BaseAssets::plane = (AModel*)m_baseAP.get("plane.obj");
|
||||
BaseAssets::sphere = (AModel*)m_baseAP.get("sphere.obj");
|
||||
BaseAssets::cone = (AModel*)m_baseAP.get("cone.obj");
|
||||
BaseAssets::cylinder = (AModel*)m_baseAP.get("cylinder.obj");
|
||||
BaseAssets::torus = (AModel*)m_baseAP.get("torus.obj");
|
||||
BaseAssets::logo = (ATexture*)m_baseAP.get("logo.png");
|
||||
BaseAssets::cubemap = (ACubemap*)m_baseAP.get("default.cm");
|
||||
BaseAssets::font = (AFont*)m_baseAP.get("default.ttf");
|
||||
BaseAssets::button = (AButton*)m_baseAP.get("default.button");
|
||||
}
|
||||
|
||||
void Renderer::createShadowMaps() {
|
||||
|
||||
@@ -77,6 +77,8 @@ namespace nf {
|
||||
AssetPack();
|
||||
|
||||
void load(const char* packName);
|
||||
Asset* get(const char* in);
|
||||
Asset* get(std::string& in);
|
||||
Asset* operator[](const char* in);
|
||||
Asset* operator[](std::string& in);
|
||||
|
||||
|
||||
Reference in new issue
Block a user