This commit is contained in:
lewa_j 2019-09-30 02:45:39 +03:00
commit e265413e23
31 changed files with 262 additions and 92 deletions

3
.gitignore vendored
View File

@ -19,3 +19,6 @@ obj_lin
*.mdl
*.vtx
*.vvd
**/log.txt
**/fslog.txt

View File

@ -1,17 +1,18 @@
TARGET = ComprTex
ENGINE_DIR = ../../nenuzhno-engine
TARGET = ../../assets/ComprTex
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../libs
all: $(TARGET)
INCLUDES = -I. -I$(ENGINE_DIR) -I../../../../Libs/gl/glm/glm -I../../../../Libs/gl/glew-2.1.0/include
INCLUDES = -I. -I$(ENGINE_DIR)/src -I$(LIBS_DIR)/gl/glm/glm -I$(LIBS_DIR)/gl/glew-2.1.0/include
CPPFLAGS = -Wall -ggdb
LDFLAGS = -static-libgcc -static-libstdc++ -ggdb
LIBS = -lnenuzhno-engine -L$(ENGINE_DIR) -lGL -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -lGLEW -L../../../../Libs/gl/glfw-3.2.1_src/lib -L../../../../Libs/gl/glew-2.1.0/lib
LIBS = -lnenuzhno-engine -L$(ENGINE_DIR)/bin/linux -lGL -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -lGLEW -L$(LIBS_DIR)/gl/glfw-3.3/lib -L$(LIBS_DIR)/gl/glew-2.1.0/lib
SRCS = ComprTex.cpp
OBJS = $(patsubst %.cpp,obj/%.o,$(SRCS))
obj/%.o: %.cpp
$(CXX) -c $< -o $@ $(CPPFLAGS) $(INCLUDES)
$(TARGET): $(OBJS) $(ENGINE_DIR)/libnenuzhno-engine.a
$(TARGET): $(OBJS) $(ENGINE_DIR)/bin/linux/libnenuzhno-engine.a
$(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)

23
demos/SSR/Makefile.linux Normal file
View File

@ -0,0 +1,23 @@
TARGET = ../../assets/SSR
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../libs
all: $(TARGET)
INCLUDES = -I. -I$(LIBS_DIR)/gl/glew-2.1.0/include -I$(LIBS_DIR)/gl/glfw-3.3/include -I$(LIBS_DIR)/gl/glm/glm -I$(ENGINE_DIR)/src
CPPFLAGS = -Wall -ggdb
LIBS = -lnenuzhno-engine -lGL -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -lGLEW -L$(ENGINE_DIR)/bin/linux -L$(LIBS_DIR)/gl/glfw-3.3/lib -L$(LIBS_DIR)/gl/glew-2.1.0/lib
LDFLAGS = -static-libgcc -static-libstdc++
SRCS = ssr.cpp
OBJS = $(patsubst %.cpp,obj/%.o,$(SRCS))
obj/%.o: %.cpp
$(CXX) -c $< -o $@ $(CPPFLAGS) $(INCLUDES)
$(TARGET): $(OBJS) $(ENGINE_DIR)/bin/linux/libnenuzhno-engine.a
$(CXX) $(LDFLAGS) -o $@ $^ $(LIBS)
clean:
$(RM) $(OBJS) $(TARGET)
rebuild: clean all

View File

@ -1,6 +1,6 @@
TARGET = ../../assets/ssr.exe
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../Libs
LIBS_DIR = ../../../../../libs
all: $(TARGET)

View File

@ -1,6 +1,7 @@
#include <gtc/type_ptr.hpp>
#include "engine.h"
#include "log.h"
#include "graphics/platform_gl.h"
#include "graphics/gl_utils.h"
@ -14,7 +15,8 @@
#include "renderer/camera.h"
#include "game/IGame.h"
class SSRGame : public IGame{
class SSRGame : public IGame
{
public:
void Created();
void Changed(int w, int h);
@ -22,6 +24,8 @@ public:
const char *GetGamedir(){
return "ssr";
}
double oldTime;
};
IGame *CreateGame(){
@ -166,6 +170,8 @@ void SSRGame::Created()
glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
glEnable(GL_CULL_FACE);
CheckGLError("Created", __FILE__, __LINE__);
oldTime = GetTime();
}
void SSRGame::Changed(int w, int h)
@ -183,7 +189,11 @@ void SSRGame::Changed(int w, int h)
float a = 0;
void SSRGame::Draw()
{
a+=0.02;
double startTime = GetTime();
float deltaTime = (startTime-oldTime);
oldTime = startTime;
a+=deltaTime;
camera.pos = glm::vec3(glm::sin(a),0.6f,glm::cos(a));
camera.rot = glm::vec3(30,glm::degrees(a),0);
camera.UpdateView();

View File

@ -0,0 +1,29 @@
ENGINE_DIR = ../..
TARGET := $(ENGINE_DIR)/assets/StarFleet
LIBS_DIR = ../../../../../libs
all: $(TARGET)
INCLUDES = -I. -I$(LIBS_DIR)/gl/glm/glm -I$(LIBS_DIR)/gl/glew-2.1.0/include -I$(LIBS_DIR)/gl/glfw-3.3/include -I$(ENGINE_DIR)/src
CPPFLAGS = -Wall -ggdb
LDFLAGS = -static-libgcc -static-libstdc++ -ggdb
LIBS = -lnenuzhno-engine -lGL -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -lGLEW -L$(ENGINE_DIR)/bin/linux -L$(LIBS_DIR)/gl/glfw-3.3/lib -L$(LIBS_DIR)/gl/glew-2.1.0/lib
SRCS = star-fleet.cpp input.cpp Ship.cpp Explosion.cpp Projectile.cpp
OBJS = $(patsubst %.cpp,obj/%.o,$(SRCS))
obj/%.o: %.cpp
$(CXX) -c $< -o $@ $(CPPFLAGS) $(INCLUDES)
$(TARGET): $(OBJS) $(ENGINE_DIR)/bin/linux/libnenuzhno-engine.a
$(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
clean:
$(RM) $(OBJS) $(TARGET)
rebuild: clean all
obj/star-fleet.o: entity.h
obj/input.o: entity.h
obj/Ship.o: entity.h
obj/Explosion.o: entity.h
obj/Projectile.o: entity.h

View File

@ -1,7 +1,7 @@
ENGINE_DIR = ../..
TARGET := $(ENGINE_DIR)/assets/StarFleet.exe
LIBS_DIR = ../../../../../Libs
LIBS_DIR = ../../../../../libs
all: $(TARGET)
INCLUDES = -I. -I$(LIBS_DIR)/gl/glm/glm -I$(LIBS_DIR)/gl/glew-2.0.0/include -I$(LIBS_DIR)/gl/glfw-3.3.bin.WIN32/include -I$(ENGINE_DIR)/src

View File

@ -18,7 +18,8 @@ Ship::Ship(): Entity(),gun(10,6.5f,20,0.35f,0.05f){
bbox = BoundingBox(glm::vec3(-0.6f,-0.5f,-0.8f),glm::vec3(0.6f,0.5f,0.8f));
}
void Ship::Update(float deltaTime){
void Ship::Update(float deltaTime)
{
lastShot += deltaTime;
t -= deltaTime;
if(hp <= 0.0f){
@ -105,14 +106,15 @@ Asteroid::Asteroid(glm::vec3 pos,float s){
dynamic=true;
position = pos;
size = s;
ang = true;
ang = 0.5;
modelMtx = glm::translate(glm::mat4(size),pos);
displayMtx = modelMtx;
}
using glm::abs;
void Asteroid::Update(float deltaTime){
void Asteroid::Update(float deltaTime)
{
position += velocity*deltaTime;
if(abs(position.x)>300||abs(position.y)>300||abs(position.z)>300){
position = glm::ballRand(250.0f);

View File

@ -3,7 +3,7 @@
#include <mat4x4.hpp>
#include <vec3.hpp>
#include "cull/Boundingbox.h"
#include "cull/BoundingBox.h"
#include "scene/Scene.h"
class IRenderer;

View File

@ -75,7 +75,8 @@ void UpdateButtons()
bResume.func=Resume;
}
void ChangeState(eGameState s){
void ChangeState(eGameState s)
{
gameState = s;
for(uint32_t i=0; i<buttons.size(); i++){
@ -148,6 +149,10 @@ void NewGame()
if(i<600){
obj->velocity = glm::ballRand(20.0f);
obj->ang = glm::linearRand(-40,40);
}else
{
obj->velocity = glm::vec3(0);
obj->ang = glm::linearRand(-2,2);
}
gGame->scene->AddObject(obj);
}
@ -238,7 +243,7 @@ void StarFleetGame::Created()
StartMenu();
oldTime=GetTime();
oldTime = GetTime();
}
float aspect;//for input
@ -410,7 +415,7 @@ void StarFleetGame::Draw()
snprintf(str,64,"hp: %.0f",ships[1]->hp);
renderer->DrawText(str,0,0.1,0.48);
snprintf(str,64,"ents: %d",entities.size());
snprintf(str,64,"ents: %d",(int)entities.size());
renderer->DrawText(str,0.4,0.1,0.48);
renderer->SetColor(0,1,0,1);

View File

@ -0,0 +1,18 @@
TARGET = ../../assets/VolLight
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../libs
all: $(TARGET)
INCLUDES = -I. -I$(ENGINE_DIR)/src -I$(LIBS_DIR)/gl/glm/glm -I$(LIBS_DIR)/gl/glew-2.1.0/include -I$(LIBS_DIR)/gl/glfw-3.3/include
CPPFLAGS = -Wall -ggdb
LDFLAGS = -static-libgcc -static-libstdc++ -ggdb
LIBS = -lnenuzhno-engine -L$(ENGINE_DIR)/bin/linux -lGL -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -lGLEW -L$(LIBS_DIR)/gl/glfw-3.3/lib -L$(LIBS_DIR)/gl/glew-2.1.0/lib
SRCS = main.cpp Volumetrics.cpp
OBJS = $(patsubst %.cpp,obj/%.o,$(SRCS))
obj/%.o: %.cpp
$(CXX) -c $< -o $@ $(CPPFLAGS) $(INCLUDES)
$(TARGET): $(OBJS) $(ENGINE_DIR)/bin/linux/libnenuzhno-engine.a
$(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)

View File

@ -1,6 +1,6 @@
TARGET = ../../assets/VolLight.exe
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../Libs
LIBS_DIR = ../../../../../libs
all: $(TARGET)

View File

@ -10,7 +10,8 @@ class LightObject;
#include <vec3.hpp>
using glm::vec3;
class Volumetrics{
class Volumetrics
{
public:
Volumetrics();
void Init(Scene *sc,vec3 pos,vec3 target,float fov, float aspect,float aNear,float aFar,int lightRes);

View File

@ -10,8 +10,8 @@
#include "resource/ResourceManager.h"
#include "renderer/renderer.h"
#include "renderer/mesh.h"
#include "renderer/material.h"
#include "renderer/model.h"
#include "renderer/Material.h"
#include "renderer/Model.h"
#include "graphics/texture.h"
#include "graphics/fbo.h"
#include "graphics/glsl_prog.h"
@ -137,6 +137,7 @@ void VolLightGame::Created()
volFBO.CreateTexture(64,64,GL_LINEAR);
FrameBufferObject::Unbind();
//scene.sunDirection = glm::normalize(lightVol.lightObj->pos);
rend->SetScene(&scene);
cam = Camera();

View File

@ -1,17 +1,18 @@
TARGET = cube
ENGINE_DIR = ../../nenuzhno-engine
TARGET = ../../assets/cube
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../libs
all: $(TARGET)
INCLUDES = -I. -I$(ENGINE_DIR) -I../../../../Libs/gl/glm/glm -I../../../../Libs/gl/glew-2.1.0/include
INCLUDES = -I. -I$(ENGINE_DIR)/src -I$(LIBS_DIR)/gl/glm/glm -I$(LIBS_DIR)/gl/glew-2.1.0/include
CPPFLAGS = -Wall -ggdb
LDFLAGS = -static-libgcc -static-libstdc++ -ggdb
LIBS = -lnenuzhno-engine -L$(ENGINE_DIR) -lGL -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -lGLEW -L../../../../Libs/gl/glfw-3.2.1_src/lib -L../../../../Libs/gl/glew-2.1.0/lib
LIBS = -lnenuzhno-engine -L$(ENGINE_DIR)/bin/linux -lGL -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -lGLEW -L$(LIBS_DIR)/gl/glfw-3.3/lib -L$(LIBS_DIR)/gl/glew-2.1.0/lib
SRCS = cube.cpp
OBJS = $(patsubst %.cpp,obj/%.o,$(SRCS))
obj/%.o: %.cpp
$(CXX) -c $< -o $@ $(CPPFLAGS) $(INCLUDES)
$(TARGET): $(OBJS) $(ENGINE_DIR)/libnenuzhno-engine.a
$(TARGET): $(OBJS) $(ENGINE_DIR)/bin/linux/libnenuzhno-engine.a
$(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)

View File

@ -1,6 +1,6 @@
TARGET = ../../assets/cube.exe
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../Libs
LIBS_DIR = ../../../../../libs
all: $(TARGET)

View File

@ -0,0 +1,18 @@
TARGET = ../../assets/gravity
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../libs
all: $(TARGET)
INCLUDES = -I. -I$(ENGINE_DIR)/src -I$(LIBS_DIR)/gl/glm/glm -I$(LIBS_DIR)/gl/glew-2.1.0/include -I$(LIBS_DIR)/gl/glfw-3.3/include
CPPFLAGS = -Wall -ggdb -O2
LDFLAGS = -static-libgcc -static-libstdc++ -ggdb
LIBS = -lnenuzhno-engine -lGL -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -lGLEW -L$(ENGINE_DIR)/bin/linux -L$(LIBS_DIR)/gl/glfw-3.3/lib -L$(LIBS_DIR)/gl/glew-2.1.0/lib
SRCS = main.cpp
OBJS = $(patsubst %.cpp,obj/%.o,$(SRCS))
obj/%.o: %.cpp
$(CXX) -c $< -o $@ $(CPPFLAGS) $(INCLUDES)
$(TARGET): $(OBJS) $(ENGINE_DIR)/bin/linux/libnenuzhno-engine.a
$(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)

View File

@ -1,6 +1,6 @@
TARGET = ../../assets/gravity.exe
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../Libs
LIBS_DIR = ../../../../../libs
all: $(TARGET)

View File

@ -1,4 +1,5 @@
#include "engine.h"
#include "log.h"
#include "graphics/platform_gl.h"
#include "button.h"
@ -95,7 +96,7 @@ Entity* Collide(Unit *u,vec3 orig, vec3 vel);
vec3 GetGravity(Unit *u);
vec3 planetPos(0.0f,0.0f,0.0f);
const int asteroidsCount = 16;//2048;
const int asteroidsCount = 256;
float planetRadius = 1;
float planetMass = 2000;
float G = 0.000066;
@ -235,7 +236,8 @@ vec3 GetGravity(Unit *u)
Mesh meshCircle;
class GravityGame: public IGame{
class GravityGame: public IGame
{
public:
GravityGame(){}
void Created();
@ -255,6 +257,8 @@ public:
Button bAdd;
Button bTrails;
Scroll bScroll;
double oldTime;
};
IGame *CreateGame(){
@ -363,7 +367,7 @@ void GravityGame::Created()
rend->AddButton(&bAdd);
rend->AddButton(&bTrails);
oldTime = GetTime();
}
void GravityGame::Changed(int w, int h)
@ -385,6 +389,10 @@ void GravityGame::DrawCircle(vec3 pos, float size)
void GravityGame::Draw()
{
double startTime = GetTime();
float deltaTime = (startTime-oldTime);
oldTime = startTime;
if(bAdd.pressed)
{
bAdd.pressed=0;
@ -405,8 +413,7 @@ void GravityGame::Draw()
}
cam.SetOrtho(aspect,bScroll.pos*2,1);
float deltaTime = 0.02;
int subSteps = 10;
for(int i=0;i<subSteps;i++){
for(size_t i = 0;i<entities.size();i++){
@ -423,10 +430,11 @@ void GravityGame::Draw()
}
}
}
static int t=0;
static float t=0;
if(drawTrails){
t++;
if(t%10==0){
t+=deltaTime;
if(t>0.1){
t = 0;
for(size_t i = 0;i<entities.size();i++){
entities[i]->UpdateTail();
}
@ -443,7 +451,7 @@ void GravityGame::Draw()
*/
char temp[256];
snprintf(temp,256,"objects count: %d\nplanet mass %.3f",entities.size(), planetMass);
snprintf(temp,256,"objects count: %d\nplanet mass %.3f",(int)entities.size(), planetMass);
rend->DrawText(temp,0.02,0.9,0.2*rend->aspect);
//mat4 mtx(1.0f);
@ -493,7 +501,8 @@ Button::Button(float nx, float ny, float nw, float nh, const char *t, bool adjus
void Button::Update(){}
bool Button::SetUniform(int loc){return false;}
void GravityGame::OnTouch(float tx, float ty, int ta, int tf){
void GravityGame::OnTouch(float tx, float ty, int ta, int tf)
{
float x = tx/rend->width;
#ifdef ANDROID
float y = (ty-64)/rend->height;

View File

@ -0,0 +1,18 @@
TARGET = ../../assets/glsl_pt
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../libs
all: $(TARGET)
INCLUDES = -I$(LIBS_DIR)/gl/glew-2.1.0/include -I$(LIBS_DIR)/gl/glfw-3.3/include -I$(LIBS_DIR)/gl/glm/glm -I$(ENGINE_DIR)/src
LIBS = -lnenuzhno-engine -L$(ENGINE_DIR)/bin/linux -lGL -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -lGLEW -L$(LIBS_DIR)/gl/glfw-3.3/lib -L$(LIBS_DIR)/gl/glew-2.1.0/lib
CPPFLAGS = -Wall -ggdb
LDFLAGS = -static-libgcc -static-libstdc++
SRCS = glsl_pt.cpp
OBJS = $(patsubst %.cpp,obj/%.o,$(SRCS))
obj/%.o: %.cpp
$(CXX) -c $< -o $@ $(CPPFLAGS) $(INCLUDES)
$(TARGET): $(OBJS) $(ENGINE_DIR)/bin/linux/libnenuzhno-engine.a
$(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)

View File

@ -1,6 +1,6 @@
TARGET = ../../assets/glsl_pt.exe
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../Libs
LIBS_DIR = ../../../../../libs
all: $(TARGET)
@ -15,4 +15,4 @@ obj/%.o: %.cpp
$(CXX) -c $< -o $@ $(CPPFLAGS) $(INCLUDES)
$(TARGET): $(OBJS) $(ENGINE_DIR)/bin/libnenuzhno-engine.a
$(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
$(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)

View File

@ -1,17 +1,18 @@
TARGET = skinning
ENGINE_DIR = ../../nenuzhno-engine
TARGET = ../../assets/Skinning
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../libs
all: $(TARGET)
INCLUDES = -I. -I$(ENGINE_DIR) -I../../../../Libs/gl/glm/glm -I../../../../Libs/gl/glew-2.1.0/include -I../../../../Libs/gl/glfw-3.2.1_src/include
INCLUDES = -I. -I$(ENGINE_DIR)/src -I$(LIBS_DIR)/gl/glm/glm -I$(LIBS_DIR)/gl/glew-2.1.0/include -I$(LIBS_DIR)/gl/glfw-3.3/include
CPPFLAGS = -Wall -ggdb
LDFLAGS = -static-libgcc -static-libstdc++ -ggdb
LIBS = -lnenuzhno-engine -L$(ENGINE_DIR) -lGL -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -lGLEW -L../../../../Libs/gl/glfw-3.2.1_src/lib -L../../../../Libs/gl/glew-2.1.0/lib
LIBS = -lnenuzhno-engine -L$(ENGINE_DIR)/bin/linux -lGL -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -lGLEW -L$(LIBS_DIR)/gl/glfw-3.3/lib -L$(LIBS_DIR)/gl/glew-2.1.0/lib
SRCS = main.cpp mdl_loader.cpp
OBJS = $(patsubst %.cpp,obj/%.o,$(SRCS))
obj/%.o: %.cpp
$(CXX) -c $< -o $@ $(CPPFLAGS) $(INCLUDES)
$(TARGET): $(OBJS) $(ENGINE_DIR)/libnenuzhno-engine.a
$(TARGET): $(OBJS) $(ENGINE_DIR)/bin/linux/libnenuzhno-engine.a
$(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)

View File

@ -1,6 +1,6 @@
TARGET = ../../assets/skinning.exe
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../Libs
LIBS_DIR = ../../../../../libs
all: $(TARGET)

View File

@ -0,0 +1,26 @@
TARGET = ../../assets/TpsGame
ENGINE_DIR = ../..
LIBS_DIR = ../../../../../libs
all: $(TARGET)
INCLUDES = -I. -I$(ENGINE_DIR)/src -I$(LIBS_DIR)/gl/glm/glm -I$(LIBS_DIR)/gl/glew-2.1.0/include -I$(LIBS_DIR)/gl/glfw-3.3/include
CPPFLAGS = -Wall -ggdb
LDFLAGS = -static-libgcc -static-libstdc++ -ggdb
LIBS = -lnenuzhno-engine -L$(ENGINE_DIR)/bin/linux -lGL -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -lGLEW -L$(LIBS_DIR)/gl/glfw-3.3/lib -L$(LIBS_DIR)/gl/glew-2.1.0/lib
SRCS = init.cpp scene_txt_loader.cpp tpsMaterials.cpp tpsMenu.cpp tpsPlayer.cpp tpsObjects.cpp tpsWeapon.cpp
OBJS = $(patsubst %.cpp,obj/%.o,$(SRCS))
INCLUDES+= -I$(LIBS_DIR)/bullet3-2.86.1/src
LIBS+= -lBulletDynamics -lBulletCollision -lLinearMath -L$(LIBS_DIR)/bullet3-2.86.1/lib
#CPPFLAGS+= -DBULLET
SRCS+= tpsPhysics.cpp
obj/%.o: %.cpp
$(CXX) -c $< -o $@ $(CPPFLAGS) $(INCLUDES)
$(TARGET): $(OBJS) $(ENGINE_DIR)/bin/linux/libnenuzhno-engine.a
$(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
clean:
del $(subst /,\,$(OBJS))

View File

@ -1,7 +1,7 @@
ENGINE_DIR = ../..
TARGET := $(ENGINE_DIR)/assets/tpsGame.exe
LIBS_DIR = ../../../../../Libs
LIBS_DIR = ../../../../../libs
all: $(TARGET)
INCLUDES = -I. -I$(ENGINE_DIR)/src -I$(LIBS_DIR)/gl/glm/glm -I$(LIBS_DIR)/gl/glew-2.0.0/include -I$(LIBS_DIR)/gl/glfw-3.3.bin.WIN32/include

View File

@ -1,32 +1,33 @@
TARGET = libnenuzhno-engine.a
all: $(TARGET)
INCLUDES = -I. -I../../../Libs/gl/glew-2.1.0/include -I../../../Libs/gl/glfw-3.2.1_src/include -I../../../Libs/gl/glm/glm
CPPFLAGS = -Wall -ggdb
LDFLAGS = -static-libgcc -static-libstdc++
LIBS = -L../../../Libs/gl/glfw-3.2.1_src/lib -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -L../../../Libs/gl/glew-2.1.0/lib -lGLEW -lGL
SRCS = main.cpp log.cpp system/config.cpp system/FileSystem.cpp game/IGame.cpp network/network.cpp network/udp_socket.cpp \
graphics/gl_utils.cpp graphics/gl_ext.cpp graphics/glsl_prog.cpp graphics/bin_gpu_prog.cpp graphics/vbo.cpp graphics/vao.cpp graphics/fbo.cpp graphics/texture.cpp \
renderer/renderer.cpp renderer/LightingForward.cpp renderer/mesh.cpp renderer/Model.cpp renderer/font.cpp renderer/camera.cpp \
scene/Scene.cpp cull/frustum.cpp cull/BoundingBox.cpp \
resource/ResourceManager.cpp resource/nmf_loader.cpp resource/mesh_loader.cpp resource/obj_loader.cpp resource/vtf_loader.cpp resource/dds_loader.cpp \
renderer/BokehBlur.cpp
SRC_SOUND = sound/sound_al.cpp sound/AudioClip.cpp
OBJS = $(patsubst %.cpp,obj_lin/%.o,$(SRCS))
obj_lin/%.o: %.cpp
$(CXX) -c $< -o $@ $(CPPFLAGS) $(INCLUDES)
nenuzhno-engine: $(OBJS)
$(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
libnenuzhno-engine.a: $(OBJS)
$(AR) rcs $@ $^
renderer/Model.cpp: renderer/Model.h
resource/nmf_loader.cpp: renderer/Model.h
TARGET = ../bin/linux/libnenuzhno-engine.a
LIBS_DIR = ../../../../libs
all: $(TARGET)
INCLUDES = -I. -I$(LIBS_DIR)/gl/glew-2.1.0/include -I$(LIBS_DIR)/gl/glfw-3.3/include -I$(LIBS_DIR)/gl/glm/glm
CPPFLAGS = -Wall -ggdb
LDFLAGS = -static-libgcc -static-libstdc++
LIBS = -L$(LIBS_DIR)/gl/glfw-3.3/lib -lglfw3 -lX11 -lXrandr -lXinerama -lXcursor -lpthread -ldl -L$(LIBS_DIR)/gl/glew-2.1.0/lib -lGLEW -lGL
SRCS = main.cpp log.cpp system/config.cpp system/FileSystem.cpp game/IGame.cpp network/network.cpp network/udp_socket.cpp \
graphics/gl_utils.cpp graphics/gl_ext.cpp graphics/glsl_prog.cpp graphics/bin_gpu_prog.cpp graphics/vbo.cpp graphics/vao.cpp graphics/fbo.cpp graphics/texture.cpp \
renderer/renderer.cpp renderer/LightingForward.cpp renderer/mesh.cpp renderer/Model.cpp renderer/font.cpp renderer/camera.cpp \
scene/Scene.cpp cull/frustum.cpp cull/BoundingBox.cpp \
resource/ResourceManager.cpp resource/nmf_loader.cpp resource/mesh_loader.cpp resource/obj_loader.cpp resource/vtf_loader.cpp resource/dds_loader.cpp \
renderer/BokehBlur.cpp
SRC_SOUND = sound/sound_al.cpp sound/AudioClip.cpp
OBJS = $(patsubst %.cpp,obj_lin/%.o,$(SRCS))
obj_lin/%.o: %.cpp
$(CXX) -c $< -o $@ $(CPPFLAGS) $(INCLUDES)
nenuzhno-engine: $(OBJS)
$(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
%.a: $(OBJS)
$(AR) rcs $@ $^
renderer/Model.cpp: renderer/Model.h
resource/nmf_loader.cpp: renderer/Model.h

View File

@ -1,6 +1,6 @@
#TARGET = nenuzhno-engine.exe
TARGET = ../bin/libnenuzhno-engine.a
LIBS_DIR = ../../../../Libs
LIBS_DIR = ../../../../libs
all: $(TARGET)

View File

@ -12,7 +12,7 @@
//GL_EXT_texture_format_BGRA8888
#define GL_BGRA GL_BGRA_EXT
#else
#include "GL/glext.h"
//#include "GL/glext.h"
#endif
#define GL_COMPRESSED_RGB_S3TC_DXT1 GL_COMPRESSED_RGB_S3TC_DXT1_EXT
#define GL_COMPRESSED_RGBA_S3TC_DXT5 GL_COMPRESSED_RGBA_S3TC_DXT5_EXT

View File

@ -14,7 +14,7 @@ void LogInit()
logMode = eLogBoth;
char path[256];
#ifdef WIN32
#ifndef ANDROID
snprintf(path,256,"%s/log.txt", g_fs.gamedir.c_str());
#else
snprintf(path,256,"%s/nenuzhno-engine/%s/log.txt", getenv("EXTERNAL_STORAGE"), g_fs.gamedir.c_str());

View File

@ -4,7 +4,7 @@
#include "renderer/renderer.h"
#include "scene/Scene.h"
Scene::Scene():objects(),dynamicObjects(),skyBox(0){
Scene::Scene():objects(),dynamicObjects(),skyBox(0),sunDirection(0){
}

View File

@ -36,8 +36,10 @@ bool FileSystem::Init(const char *dir)
char path[256];
#ifdef WIN32
snprintf(path,256,".\\%s", dir);
#else
#elif ANDROID
snprintf(path,256,"%s/nenuzhno-engine/%s", getenv("EXTERNAL_STORAGE"), dir);
#else
snprintf(path,256,"./%s", dir);
#endif
Log("InitFS() gamedir = %s\n",path);
@ -54,7 +56,7 @@ bool FileSystem::Init(const char *dir)
}
LoadSearchPaths();
#ifdef WIN32
#ifndef ANDROID
snprintf(path,256,"%s/fslog.txt", dir);
#else
snprintf(path,256,"%s/nenuzhno-engine/%s/fslog.txt", getenv("EXTERNAL_STORAGE"), dir);
@ -122,7 +124,7 @@ bool FileSystem::WriteAll(const char *fileName, const char *data){
bool FileSystem::FileExists(const char *fileName, bool gamedirOnly)
{
char path[256];
#ifdef WIN32
#ifndef ANDROID
snprintf(path,256,"%s/%s", gamedir.c_str(), fileName);
#else
snprintf(path,256,"%s/nenuzhno-engine/%s/%s", getenv("EXTERNAL_STORAGE"), gamedir.c_str(), fileName);
@ -136,7 +138,7 @@ bool FileSystem::FileExists(const char *fileName, bool gamedirOnly)
{
if(!searchPaths[i][0])
break;
#ifdef WIN32
#ifndef ANDROID
snprintf(path,256,"%s/%s", searchPaths[i].c_str(), fileName);
#else
snprintf(path,256,"%s/nenuzhno-engine/%s/%s", getenv("EXTERNAL_STORAGE"), searchPaths[i].c_str(), fileName);
@ -149,12 +151,13 @@ bool FileSystem::FileExists(const char *fileName, bool gamedirOnly)
return false;
}
bool FileSystem::DirExists(const char *name){
bool FileSystem::DirExists(const char *name)
{
struct stat info;
if(stat(name,&info)!=0)
return 0;
if(info.st_mode&S_IFDIR)
if(S_ISDIR(info.st_mode))
return 1;
return 0;
@ -168,12 +171,12 @@ void FileSystem::AddArchive(IArchive *archive)
bool FileSystem::GetFilePath(const char *fileName, char *path, bool gamedirOnly)
{
#ifdef WIN32
#ifndef ANDROID
snprintf(path,256,"%s/%s", gamedir.c_str(), fileName);
#else
snprintf(path,256,"%s/nenuzhno-engine/%s/%s", getenv("EXTERNAL_STORAGE"), gamedir.c_str(), fileName);
replace(path,'\\','/');
#endif
replace(path,'\\','/');
if(ifstream(path)){
return true;
}
@ -183,7 +186,7 @@ bool FileSystem::GetFilePath(const char *fileName, char *path, bool gamedirOnly)
{
if(!searchPaths[i][0])
break;
#ifdef WIN32
#ifndef ANDROID
snprintf(path,256,"%s/%s", searchPaths[i].c_str(), fileName);
#else
snprintf(path,256,"%s/nenuzhno-engine/%s/%s", getenv("EXTERNAL_STORAGE"), searchPaths[i].c_str(), fileName);
@ -202,7 +205,7 @@ bool FileSystem::GetFilePath(const char *fileName, char *path, bool gamedirOnly)
void FileSystem::LoadSearchPaths()
{
char temp[256];
#ifdef WIN32
#ifndef ANDROID
snprintf(temp,256,"%s/SearchPaths.txt", gamedir.c_str());
#else
snprintf(temp,256,"%s/nenuzhno-engine/%s/SearchPaths.txt", getenv("EXTERNAL_STORAGE"), gamedir.c_str());