Giter Club home page Giter Club logo

Comments (7)

jamesmintram avatar jamesmintram commented on May 5, 2024

I have started working on this here: https://github.com/jamesmintram/openage/tree/graphics_renderer

from openage.

franciscod avatar franciscod commented on May 5, 2024

dis is free software: https://github.com/google/ion, README transcription follows:


Ion is a portable suite of libraries and tools for building client applications,
especially graphical ones. It is small, fast, and robust, and is cross-platform
across many platforms and devices, including desktops, mobile devices, browsers,
and other embedded platforms.
Why Use Ion?

  • Small: < 500k binary size on mobile platforms, often much smaller
  • Powerful: Tools for faster productivity when developing applications
    • Robust, portable application infrastructure aids in:
    • Object lifetime management
    • Memory allocation
    • Application start-up and static instances
    • Threading
    • Run-time setting editing
    • Automatic performance instrumentation
    • More!
  • Tools for graphics:
    • Analyze graphics scenes to find performance bottleneck
    • Trace all OpenGL calls and examine their arguments
    • Use scene resources in multiple contexts, automatically
    • Run-time graphics state introspection
    • Run-time shader editing: change your shaders and immediately see the results
  • Fast graphics: Minimal overhead between your application and OpenGL / ES
  • Tested: Well-tested and facilitates testing your application
    • ~100% test coverage
    • Black- and white-box tested, unit tests and integration tests
    • Mock implementation of OpenGL API allows direct renderer unit tests and
      validation
    • Integrated Remote: extensible API allows changing arbitrary application
      settings on-the-fly for faster development, testing, and debugging
  • Cross-platform:
    • Desktop: Linux, Mac OSX, Windows (OpenGL)
    • Handheld: Android (ARM, x86 MIPS), iOS (ARM and x86), and their 64-bit
      variants
    • Browser: Emscripten/asm.js, NaCl / pNaCl
  • Cross-functional
    • Used by many teams across Google, running on billions of devices through
      multiple Google products

NOTE: This is not an official Google product.

from openage.

TheJJ avatar TheJJ commented on May 5, 2024

https://github.com/google/ion/tree/master/third_party hrrg

from openage.

TheJJ avatar TheJJ commented on May 5, 2024

My attempt (will continue someday) is #287, but I'm currently working on nyan.
You can continue my branch and submit pulls there if anyone likes.

from openage.

zuntrax avatar zuntrax commented on May 5, 2024

See #850

from openage.

Vtec234 avatar Vtec234 commented on May 5, 2024

Here is a list of things to be done for the new renderer implementation:

  • Abstraction of render backend
    • OpenGL 3.3 or higher
      • Use 4.x when available (optional)
      • Support ancient 2.x legacy (optional)
    • Vulkan (optional, #242)
  • Render pipeline abstraction
    • Textures
    • Shaders
      • Uniforms
      • Uniform buffers
      • Vertex attributes
    • Geometries
      • Quad primitives
      • Circles
      • Smooth paths
      • Mesh importing (optional)
    • Render targets
      • Framebuffers
      • Renderbuffers (optional)
  • Functionality
    • Screenshot support
    • Pixel-perfect unit hitbox for unit selection and damage areas (#368, #671 )
    • Outline rendering
    • Investigate why tree textures render incorrectly (#359, maybe this?)
    • Fix #374
  • Terrain rendering
    • Merge terrain texture into a single bitmap
    • Cache blending results (#154, #158)
    • Do as much as possible in shaders (#149)
    • Clip tiles properly (#141)
  • Optimizations
    • Occlusion queries
    • Minimize OpenGL state changes (batch by shader, then by buffer)
    • Texture binpacking into atlas
    • Smooth zooming
  • Integration
    • Rewrite all of drawing functionality to be expressed in terms of Renderer
      • Get rid of GL code everywhere except the rendering backend and the GUI
      • Write a GameRenderer that takes evaluations of curves at the current instant as input
    • GUI integration

from openage.

TheJJ avatar TheJJ commented on May 5, 2024

we have added various components of a render manager meanwhile :)

from openage.

Related Issues (20)

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.