#ifndef GATE_H
#define GATE_H
-#define VG_3D
-#include "vg/vg.h"
+#include "common.h"
#include "model.h"
#include "render.h"
#include "shaders/gate.h"
fb_resize( &grender.fb );
}
-static int render_gate( teleport_gate *gate, m4x3f camera )
+static int render_gate( teleport_gate *gate, v3f viewpos, m4x3f camera )
{
- v3f viewpos, viewdir, gatedir;
- v3_copy( camera[3], viewpos );
+ v3f viewdir, gatedir;
m3x3_mulv( camera, (v3f){0.0f,0.0f,-1.0f}, viewdir );
m3x3_mulv( gate->to_world, (v3f){0.0f,0.0f,-1.0f}, gatedir );
float d = v3_dot(surface, v0);
- if( fabsf(d) > 0.00001f )
+ if( d > 0.00001f )
{
float t = v3_dot(delta, surface) / d;
if( t >= 0.0f && t <= l )