Browse Source

remove AixLog dependancy from renderer

master
cinnaboot 6 years ago
parent
commit
a9b516a8e9
  1. 3
      src/render/Makefile
  2. 38
      src/render/dumbLog.cpp
  3. 28
      src/render/dumbLog.h
  4. 9
      src/render/entity.cpp
  5. 16
      src/render/mesh.cpp
  6. 10
      src/render/render_group.cpp
  7. 26
      src/render/renderer.cpp

3
src/render/Makefile

@ -3,9 +3,6 @@ CXX = g++
CXXFLAGS = -std=c++11 -g -ggdb3 -Wall -I/usr/include/SDL2
OBJDIR = build
# TODO: remove aixlog
CXXFLAGS += -I../../ext/aixlog/include
# TODO: switch from gl3w to glew
IMGUI_DIR = ../../ext/imgui
CC = gcc

38
src/render/dumbLog.cpp

@ -0,0 +1,38 @@
#include <ctime>
#include <chrono>
#include "dumbLog.h"
void dumbLog::setOutputStream(std::ostream* out)
{
this->OUT = out;
}
const char*
dumbLog::logLevelToString(log_level level)
{
switch (level) {
case log_level::Error: return "Error";
case log_level::Warning: return "Warning";
case log_level::Info: return "Info";
default: return "Potato";
}
};
std::tm*
dumbLog::getCurrentTime()
{
auto now = std::chrono::system_clock::now();
auto t_c = std::chrono::system_clock::to_time_t(now);
return std::localtime(&t_c);
}
int
dumbLog::getCurrentMS()
{
auto now = std::chrono::system_clock::now();
long long total_ms = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()).count();
return int(total_ms % 1000);
}

28
src/render/dumbLog.h

@ -0,0 +1,28 @@
#include <iomanip>
#include <iostream>
enum log_level {
Error,
Warning,
Info,
Debug
};
struct dumbLog
{
std::ostream* OUT = &std::cout;
void setOutputStream(std::ostream* out);
const char* logLevelToString(log_level level);
std::tm* getCurrentTime();
int getCurrentMS();
};
static dumbLog logger;
#define LOG(level) *logger.OUT \
<< std::put_time(logger.getCurrentTime(), "%F %T.") << logger.getCurrentMS() << " " \
<< "[" << logger.logLevelToString(level) << "] " \
<< "(" << __FUNCTION__ << ") "

9
src/render/entity.cpp

@ -1,5 +1,6 @@
#include "aixlog.hpp"
//#include "aixlog.hpp"
#include "dumbLog.h"
#include "entity.h"
@ -21,7 +22,7 @@ entInit(Entity& e, const char* data_dir, rg_shader_program& shader, hexgrid& hg)
if (e.use_grid) {
if (!entPositionToGrid(e, hg, e.grid_pos.q, e.grid_pos.r, e.grid_pos.s)) {
LOG(ERROR) << "tried to place entity at invalid grid coord\n";
LOG(Error) << "tried to place entity at invalid grid coord\n";
goto cleanup;
}
} else {
@ -34,7 +35,7 @@ entInit(Entity& e, const char* data_dir, rg_shader_program& shader, hexgrid& hg)
goto cleanup;
}
} else {
LOG(ERROR) << data_dir << " + " << e.model_filename << " is too long\n";
LOG(Error) << data_dir << " + " << e.model_filename << " is too long\n";
goto cleanup;
}
@ -121,7 +122,7 @@ initEntityROs(Entity& e)
if (mesh->use_texture) {
ro->use_texture = true;
if (!rgInitGLTexture(ro->tex_id, mesh->diffuse_texture)) {
LOG(ERROR) << "Error initializing GL texture\n";
LOG(Error) << "Error initializing GL texture\n";
return false;
}
}

16
src/render/mesh.cpp

@ -8,7 +8,7 @@
#include <glm/geometric.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include "aixlog.hpp"
#include "dumbLog.h"
#include "mesh.h"
@ -25,7 +25,7 @@ meMeshInfo* copyMeshInfo(const char* data_dir, const aiScene* scene, aiMesh* mes
bool
meInitAssimp()
{
LOG(INFO) << "Initializing Assimp\n";
LOG(Info) << "Initializing Assimp\n";
aiLogStream ls;
ls.callback = assimpLogCB;
aiAttachLogStream(&ls);
@ -36,16 +36,16 @@ meInitAssimp()
bool
meLoadFromFile(meMeshGroup& mesh_group, const char* data_dir, const char* filename)
{
LOG(INFO) << "Loading file: " << filename << "\n";
LOG(Info) << "Loading file: " << filename << "\n";
const aiScene* scene = aiImportFile(filename, aiProcessPreset_TargetRealtime_MaxQuality);
if (!scene) {
LOG(ERROR) << "Error loading file: " << filename << "\n";
LOG(Error) << "Error loading file: " << filename << "\n";
return false;
}
if (scene->mNumMeshes < 1) {
LOG(ERROR) << "Scene contains no meshes\n";
LOG(Error) << "Scene contains no meshes\n";
return false;
}
@ -85,7 +85,7 @@ assimpLogCB(const char* message, char* user)
{
// NOTE: filter 'info' messages from assimp
if (!utilMatchPrefix(message, "Info,", 5))
LOG(INFO) << message << "\n";
LOG(Info) << message << "\n";
}
meMeshInfo*
@ -163,9 +163,9 @@ copyMeshInfo(const char* data_dir, const aiScene* scene, aiMesh* mesh)
if (has_tex && mat->GetTextureCount(aiTextureType_DIFFUSE) > 0) {
aiString file_name;
if (AI_SUCCESS != mat->GetTexture(aiTextureType_DIFFUSE, 0, &file_name, NULL, NULL, NULL, NULL, NULL)) {
LOG(ERROR) << "No diffuse texture from assimp\n";
LOG(Error) << "No diffuse texture from assimp\n";
} else {
LOG(INFO) << "Loading texture file: " << file_name.C_Str() << "\n";
LOG(Info) << "Loading texture file: " << file_name.C_Str() << "\n";
mi->diffuse_texture = utilLoadImage(data_dir, file_name.C_Str());
mi->use_texture = true;
}

10
src/render/render_group.cpp

@ -6,7 +6,7 @@
#include <glm/geometric.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include "aixlog.hpp"
#include "dumbLog.h"
#include "render_group.h"
#include "../util.h"
@ -69,7 +69,7 @@ rgInitSingle(rg_shader_program& sp, uint vertex_buffer_len,
rg->num_objects = 1;
if (rg->render_objects[0] == nullptr) {
LOG(ERROR) << "Allocation Error\n";
LOG(Error) << "Allocation Error\n";
rgFree(rg);
}
@ -119,7 +119,7 @@ rgInitShaderProgram(rg_shader_program& sp, const char * vertex_code, const char
GLchar infoLog[maxLength] = { 0 };
#endif
glGetProgramInfoLog(sp.program_id, maxLength, &maxLength, &infoLog[0]);
LOG(ERROR) << infoLog << "\n";
LOG(Error) << infoLog << "\n";
glDeleteProgram(sp.program_id);
return false;
@ -246,7 +246,7 @@ void
rgFree(render_group* rg)
{
if (rg == nullptr) {
LOG(ERROR) << "tried to free nullptr\n";
LOG(Error) << "tried to free nullptr\n";
return;
}
@ -264,7 +264,7 @@ void
freeRenderObject(render_object* ro)
{
if (ro == nullptr) {
LOG(ERROR) << "Tried to free nullptr\n";
LOG(Error) << "Tried to free nullptr\n";
return;
}

26
src/render/renderer.cpp

@ -11,7 +11,7 @@
#include <glm/geometric.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include "aixlog.hpp"
#include "dumbLog.h"
//#include "hexlib.h"
#include "renderer.h"
@ -65,30 +65,30 @@ renInit(render_state* rs)
);
if (!rs->handles.window) {
LOG(ERROR) << "Error creating window: " << SDL_GetError() << "\n";
LOG(Error) << "Error creating window: " << SDL_GetError() << "\n";
return false;
}
rs->handles.glContext = SDL_GL_CreateContext(rs->handles.window);
if (!rs->handles.glContext) {
LOG(ERROR) << "Error creating glContext: " << SDL_GetError() << "\n";
LOG(Error) << "Error creating glContext: " << SDL_GetError() << "\n";
return false;
}
if (SDL_GL_SetSwapInterval(1) != 0) { // vsync
LOG(ERROR) << "SDL Errors: " << SDL_GetError() << "\n";
LOG(Error) << "SDL Errors: " << SDL_GetError() << "\n";
return false;
}
if (gl3wInit()) {
LOG(ERROR) << "failed to initialize OpenGL\n";
LOG(Error) << "failed to initialize OpenGL\n";
return false;
}
LOG(INFO) << "opengl vendor: " << glGetString(GL_VENDOR) << "\n";
LOG(INFO)<< "opengl renderer: " << glGetString(GL_RENDERER) << "\n";
LOG(INFO) << "opengl version: " << glGetString(GL_VERSION) << "\n";
LOG(Info) << "opengl vendor: " << glGetString(GL_VENDOR) << "\n";
LOG(Info)<< "opengl renderer: " << glGetString(GL_RENDERER) << "\n";
LOG(Info) << "opengl version: " << glGetString(GL_VERSION) << "\n";
glEnable(GL_DEPTH_TEST);
glEnable(GL_LINE_SMOOTH);
@ -116,7 +116,7 @@ renInit(render_state* rs)
utilSafeFree(fs_code);
if (shader_error) {
LOG(ERROR) << "Error initializing shader program\n";
LOG(Error) << "Error initializing shader program\n";
return false;
}
@ -125,12 +125,12 @@ renInit(render_state* rs)
rs->palette_image = utilLoadImage(DEFAULT_PALETTE_DIR, DEFAULT_PALETTE_FILE);
if (!rgInitGLTexture(rs->palette_id, rs->palette_image)) {
LOG(ERROR) << "Error creating texture\n";
LOG(Error) << "Error creating texture\n";
return false;
}
if (!initDebugRenderGroup(rs)) {
LOG(ERROR) << "Error initializing debug render group\n";
LOG(Error) << "Error initializing debug render group\n";
return false;
}
@ -201,8 +201,8 @@ void
openglDebugCallback(GLenum source, GLenum type, GLuint id, GLenum severity,
GLsizei length, const GLchar* message, const void* userParam)
{
LOG((type == GL_DEBUG_TYPE_ERROR) ? ERROR : DEBUG)
<< (type == GL_DEBUG_TYPE_ERROR ? "** GL ERROR **" : "")
LOG((type == GL_DEBUG_TYPE_ERROR) ? Error : Debug)
<< (type == GL_DEBUG_TYPE_ERROR ? "** GL Error **" : "")
<< ", type: " << type
<< ", severity: " << severity
<< ", message: " << message << "\n";

Loading…
Cancel
Save