Skip to content

Releases: OpenGL-Graphics/first-person-shooter

0.5

18 Apr 20:58
Compare
Choose a tag to compare
  • Frustum culling using bounding box for level props (optimize fps).
  • Move gizmo/grid, basic camera, terrain, skybox, sphere to opengl-utils or to separate repos.
  • Shot sound with fmod (irrklang was causing audio glitches).
  • Fix: No intersection with target behind camera ray.

0.4

29 Jan 21:04
Compare
Choose a tag to compare
0.4
  • Move calls to glm::inverseTranspose() outside game loop.
  • Update shaders version to GLSL 4.60.
  • Use instancing to draw the same geometry multiple times.
  • Factory classes to manage the lifecycles of shaders & textures.
  • 3D model for targets to shoot.
  • Enable face culling except for doors/windows.
  • Parse tilemap & calculate model matrices for each prop in constructor.

0.3

17 Apr 18:55
Compare
Choose a tag to compare
0.3
  • Put generic code in a git submodule.
  • No duplication of vertexes in Sphere & Cylinder geometries.
  • Don't stretch textures (bake in uv-coordinates).
  • Move camera up/down & jump when hitting spacebar.
  • Multisampled anti-aliasing with GLFW.
  • Move to OpenGL-3.3 & GLSL-3.3 (attributes in vertex shader).
  • Draw gizmo & 2D grid using lines.
  • Sum up contributions from multiple lights with attenuation.
  • Normal mapping for tiles & 3D models.
  • Add see-through windows to level.
  • Also tested: rendering to framebuffer texture & splitting viewport.

0.2

16 Oct 22:47
Compare
Choose a tag to compare
0.2
  • Load 3D model in .obj format with Assimp.
  • Construct a terrain using heightmap & texture it with a splatmap.
  • FPS-like camera movement.
  • Render level from tilemap text with its props.
  • Collision between player & level walls.
  • Gun attached to bottom of screen & play sound when shooting.
  • Destroy cube targets on intersection with cursor & increase score.

0.1

16 Oct 22:39
Compare
Choose a tag to compare
0.1
  • Render OpenGL scene on GLFW window.
  • Draw geometries.
  • Rendering of cube with different shaders (color, textured, with specular reflection).
  • Camera movement with arrow keys and mouse.
  • Render 2D HUDs.
  • Write text with Freetype.