GithubHelp home page GithubHelp logo

gmh5225 / android-opengl-es-chams Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rev/android-opengl-es-chams

0.0 1.0 0.0 18 KB

Modify uniforms that are both present, and rendered by OpenGL ES (usually to make 'chams').

License: MIT License

C++ 100.00%

android-opengl-es-chams's Introduction

Android OpenGL ES Chams

In order to use this, the application needs to be using OpenGL ES for graphics rendering, otherwise it will not work. I will also be working on a project similar to this one, but it will provide support for applications that use Vulkan to render. I've included descriptive comments within the main header to provide easy insight on the code. In the example, I used ARMPatch as my hooking framework.

Forward Assault has been used as the target.

Features

  • Dump shaders to your devices /Downloads/ directory (which can be easily changed), or view shader names directly through a log. Both features use glGetUniformLocation.
  • Get the location of a uniform from the current program ID and uniform name, instead of having to rely on the count to modify a specific uniform.
  • Render primitives (triangles, lines, etc) using glDrawElements.

Implementation

  1. You will need to include the GLESv2 library into your project (which we get directly from the Android NDK). Depending on what you're using to build the application, the process will be a little bit different.

CMake (CMakeLists.txt):

find_library( # Sets the name of the path variable.

        GLESV2_LIB

        # Specifies the name of the NDK library that

        # you want CMake to locate.

        GLESv2)

target_link_libraries( # Specifies the target library.

        ${GLESV2_LIB}) 

NDK Build (Android.mk):

LOCAL_LDLIBS := -lGLESv2
  1. You will also need to include the gl2 header (provided by the NDK) somewhere in your project. I've included it in my native-lib.cpp as seen here.
#include <GLES2/gl2.h>
  1. Call isChams somewhere after you have included the provided chams header - such as in your main thread.
isChams();

Examples

I've included many examples of the limitless 'types' of chams that you can do. These examples can be found in the main header.

  • Invisible Chams image
  • Black Flat Chams image
  • Wireframe Chams image
  • Visibility Check Chams image
  • Base-Colour Chams image

android-opengl-es-chams's People

Contributors

rev 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.