Giter Site home page Giter Site logo

faithful's Introduction

Faithful

Faithful is a project dedicated to the game "Populous: The Beginning". It was 3rd game in a Populous series, so it is commonly known as Pop3 or PopTB. It tries to fulfill two goals:

  • To implement modern renderer for Pop3
  • To implement utils to convert Pop3 resources to modern formats

Result for renderer should be as close to an original as it is practically possible, hence the project is called "faithful". But for many reasons it does not make sense to implement "pixel perfect" renderer.

Right now there are two executables in this project:

  • "faithful", which is an OpenGL renderer
  • "pop3-res", this is an 2D renderer and resource viewer

Faithful app

This is an OpenGL renderer. It allows to render levels of an original PopTB version (not UW at this moment). At this point it is in a very early stage of development, so it has a limited functionality. Application renders landscape only and textures it. There are 4 possible textures for the landscape:

  • Completely generated by fragment shader on GPU. CPU only loads original resources to a shader and does not perform any additional work
  • CPU/GPU renderer. In this mode palette indices are generated by CPU, while actual colors are rendered by GPU
  • CPU renderer. This renderer generates texture on CPU and loads directly to a fragment shader, which does mapping without any additional processing
  • Hights renderer. It generates simple texture denepnding on hight of a certain point of a landscape, it does not need any additional resource except hight map

By default only GPU and hights texture renderers are enabled, other renderers could be enabled by a application arguments. It is possible to switch between different renderers with a keyboard. Application allows to use different resource for a specific level and switch between levels using keyboard. The rendering itself is very simple, it does not perform any light manipulation.

Pop3-res app

This application is mainly used to view Pop3 resources and render levels in 2D (as BMP images). See "scripts" directory to understand how it works.

Notes

Both applications are very "raw", so there are many bugs and inconsistencies in rendering (seams, not correct hight ratio).

faithful's People

Contributors

hrttf111 avatar

Stargazers

Eris Lund avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.