This commit is contained in:
j3d1 2022-03-09 00:56:20 +01:00
parent fb73ec7c7f
commit e1a41a526d
8 changed files with 38 additions and 33 deletions

View file

@ -17,7 +17,7 @@ void main()
vec2 texCoord = uv.xy - float(int(gaussRadius/2)) * scale;
vec3 color = vec3(0.0, 0.0, 0.0);
for (int i=0; i<gaussRadius; ++i) {
color += gaussFilter[i] * texture2D(tex, texCoord).xyz;
color += gaussFilter[i] * texture2D(tex, texCoord).xyz-0.0002;
texCoord += scale;
}

View file

@ -51,7 +51,7 @@ class GameWindow : public endofthejedi::GLWindow {
void resize() override
{
std::cout<<"resize()" << std::endl;
//std::cout<<"resize()" << std::endl;
glViewport(0, 0, getwidth(), getheight());

View file

@ -170,9 +170,7 @@ void RendererPolygon3d::setup() {
renderPlanets();
renderShips();
renderMissiles();
renderParticles();
renderTraces();
glUniform1f(m_shader_game_objects.location("aspectRatio"), m_aspectRatio);
@ -184,14 +182,12 @@ void RendererPolygon3d::setup() {
m_shader_game_objects.bind();
configureLightningInShader(&m_shader_game_objects);
glUniform1f(m_shader_game_objects.location("aspectRatio"), m_aspectRatio);
renderPlanets();
renderShips();
renderMissiles();
renderParticles();
renderTraces();
// postprocessing
m_postprocess_shader.bind();
//glColor3f(1.0, 0.0, 0.0);
@ -520,6 +516,10 @@ void RendererPolygon3d::renderPlanets() {
m_planetModel->render();
}
}
/*
void RendererPolygon3d::renderSun() {
m_planetModel->bind();
@ -553,8 +553,8 @@ void RendererPolygon3d::renderMissiles() {
m_missileModel->bind();
for (const game::Missile *missile : m_missiles) {
glm::vec3 c = glm::vec3(1.0, 1.0, 0.3);
glUniform3f(m_shader_game_objects.location("materialColor"), c.x, c.y, c.z);
glm::vec3 c = glm::vec3(missile->color);
glUniform3f(m_shader_game_objects.location("materialColor"), c.x/2, c.y/2, c.z/2);
// TODO: rename functions so their name represents what args they
// take
@ -665,6 +665,7 @@ void RendererPolygon3d::renderMissiles() {
glUseProgram(0);
// TODO dont use line mode. make that with own quads
glPolygonMode(GL_FRONT, GL_LINE);
for (const game::Trace *trace : m_state->traces) {
float fade_out = 1.0;

View file

@ -38,6 +38,7 @@ namespace endofthejedi {
void renderMissiles();
void renderShips();
void renderParticles();
void renderText(const char *text, float x, float y, float sx, float sy);
void addModel(const std::string &filename, PolygonModel **dest);

View file

@ -19,6 +19,7 @@ namespace game {
state->generateId(),
player,
player->ship->position,
player->color,
-util::deg2rad(m_angle),
0.005*player->speed);

View file

@ -11,9 +11,10 @@
#include <glm/gtx/norm.hpp>
namespace game {
Missile::Missile(size_t id, Player *player, const glm::vec2 &pos, float angle, float speed)
Missile::Missile(size_t id, Player *player, const glm::vec2 &pos, const glm::vec3 &col, float angle, float speed)
: Object(id, pos)
, player(player)
, color(col)
{
velocity = speed * glm::vec2(std::sin(angle), std::cos(angle));

View file

@ -58,7 +58,7 @@ namespace game {
size_t planetId;
};
Missile(size_t id, Player *player, const glm::vec2 &pos, float angle, float speed);
Missile(size_t id, Player *player, const glm::vec2 &pos, const glm::vec3 &col, float angle, float speed);
~Missile();
// try to advance. if something will be hit, return the first hit in
@ -68,6 +68,7 @@ namespace game {
Player *player; // owner won't be hit by own missiles
glm::vec2 velocity;
Trace *trace;
glm::vec3 color;
};
}