Skip to content

Commit

Permalink
examples
Browse files Browse the repository at this point in the history
  • Loading branch information
jvcleave committed Feb 6, 2020
1 parent d0da5a2 commit 52fb35b
Show file tree
Hide file tree
Showing 60 changed files with 2,825 additions and 0 deletions.
13 changes: 13 additions & 0 deletions example-billboard/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Attempt to load a config.make file.
# If none is found, project defaults in config.project.make will be used.
ifneq ($(wildcard config.make),)
include config.make
endif

# make sure the the OF_ROOT location is defined
ifndef OF_ROOT
OF_ROOT=$(realpath ../../..)
endif

# call the project makefile!
include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk
3 changes: 3 additions & 0 deletions example-billboard/addons.make
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ofxRPI4Window
ofxAssimpModelLoader

Empty file.
Binary file added example-billboard/bin/data/dot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions example-billboard/bin/data/shadersGL2/Billboard.frag
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
uniform sampler2D tex;

void main (void) {
gl_FragColor = texture2D(tex, gl_TexCoord[0].st) * gl_Color;
}
16 changes: 16 additions & 0 deletions example-billboard/bin/data/shadersGL2/Billboard.vert
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

void main() {
gl_TexCoord[0] = gl_MultiTexCoord0;
vec4 eyeCoord = gl_ModelViewMatrix * gl_Vertex;
gl_Position = gl_ProjectionMatrix * eyeCoord;
float dist = sqrt(eyeCoord.x*eyeCoord.x + eyeCoord.y*eyeCoord.y + eyeCoord.z*eyeCoord.z);
float att = 600.0 / dist;

gl_PointSize = gl_Normal.x * att;
gl_FrontColor = gl_Color;
}





12 changes: 12 additions & 0 deletions example-billboard/bin/data/shadersGL3/Billboard.frag
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#version 300 es
precision mediump float;

uniform sampler2D tex;

in vec4 colorVarying;

out vec4 fragColor;

void main (void) {
fragColor = texture(tex, gl_PointCoord) * colorVarying;
}
30 changes: 30 additions & 0 deletions example-billboard/bin/data/shadersGL3/Billboard.vert
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#version 300 es
precision mediump float;

uniform mat4 orientationMatrix;
uniform mat4 projectionMatrix;
uniform mat4 modelViewMatrix;
uniform mat4 textureMatrix;
uniform mat4 modelViewProjectionMatrix;

in vec4 position;
in vec4 color;
in vec3 normal;

out vec4 colorVarying;

void main() {
vec4 eyeCoord = modelViewMatrix * position;
gl_Position = projectionMatrix * eyeCoord; // to be accurate this should premultiply by orientationMatrix

float dist = sqrt(eyeCoord.x*eyeCoord.x + eyeCoord.y*eyeCoord.y + eyeCoord.z*eyeCoord.z);
float att = 600.0 / dist;

gl_PointSize = normal.x * att;
colorVarying = color;
}





142 changes: 142 additions & 0 deletions example-billboard/config.make
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
################################################################################
# CONFIGURE PROJECT MAKEFILE (optional)
# This file is where we make project specific configurations.
################################################################################

################################################################################
# OF ROOT
# The location of your root openFrameworks installation
# (default) OF_ROOT = ../../..
################################################################################
# OF_ROOT = ../../..

################################################################################
# PROJECT ROOT
# The location of the project - a starting place for searching for files
# (default) PROJECT_ROOT = . (this directory)
#
################################################################################
# PROJECT_ROOT = .

################################################################################
# PROJECT SPECIFIC CHECKS
# This is a project defined section to create internal makefile flags to
# conditionally enable or disable the addition of various features within
# this makefile. For instance, if you want to make changes based on whether
# GTK is installed, one might test that here and create a variable to check.
################################################################################
# None

################################################################################
# PROJECT EXTERNAL SOURCE PATHS
# These are fully qualified paths that are not within the PROJECT_ROOT folder.
# Like source folders in the PROJECT_ROOT, these paths are subject to
# exlclusion via the PROJECT_EXLCUSIONS list.
#
# (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank)
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
# PROJECT_EXTERNAL_SOURCE_PATHS =

################################################################################
# PROJECT EXCLUSIONS
# These makefiles assume that all folders in your current project directory
# and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations
# to look for source code. The any folders or files that match any of the
# items in the PROJECT_EXCLUSIONS list below will be ignored.
#
# Each item in the PROJECT_EXCLUSIONS list will be treated as a complete
# string unless teh user adds a wildcard (%) operator to match subdirectories.
# GNU make only allows one wildcard for matching. The second wildcard (%) is
# treated literally.
#
# (default) PROJECT_EXCLUSIONS = (blank)
#
# Will automatically exclude the following:
#
# $(PROJECT_ROOT)/bin%
# $(PROJECT_ROOT)/obj%
# $(PROJECT_ROOT)/%.xcodeproj
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
# PROJECT_EXCLUSIONS =

################################################################################
# PROJECT LINKER FLAGS
# These flags will be sent to the linker when compiling the executable.
#
# (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs
#
# Note: Leave a leading space when adding list items with the += operator
#
# Currently, shared libraries that are needed are copied to the
# $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to
# add a runtime path to search for those shared libraries, since they aren't
# incorporated directly into the final executable application binary.
################################################################################
#PROJECT_LDFLAGS=-lEGL_mesa

################################################################################
# PROJECT DEFINES
# Create a space-delimited list of DEFINES. The list will be converted into
# CFLAGS with the "-D" flag later in the makefile.
#
# (default) PROJECT_DEFINES = (blank)
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
#PROJECT_DEFINES =


################################################################################
# PROJECT CFLAGS
# This is a list of fully qualified CFLAGS required when compiling for this
# project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS
# defined in your platform specific core configuration files. These flags are
# presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below.
#
# (default) PROJECT_CFLAGS = (blank)
#
# Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in
# your platform specific configuration file will be applied by default and
# further flags here may not be needed.
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
# PROJECT_CFLAGS =

################################################################################
# PROJECT OPTIMIZATION CFLAGS
# These are lists of CFLAGS that are target-specific. While any flags could
# be conditionally added, they are usually limited to optimization flags.
# These flags are added BEFORE the PROJECT_CFLAGS.
#
# PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets.
#
# (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank)
#
# PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets.
#
# (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank)
#
# Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the
# PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration
# file will be applied by default and further optimization flags here may not
# be needed.
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
# PROJECT_OPTIMIZATION_CFLAGS_RELEASE =
# PROJECT_OPTIMIZATION_CFLAGS_DEBUG =

################################################################################
# PROJECT COMPILERS
# Custom compilers can be set for CC and CXX
# (default) PROJECT_CXX = (blank)
# (default) PROJECT_CC = (blank)
# Note: Leave a leading space when adding list items with the += operator
################################################################################
# PROJECT_CXX =
# PROJECT_CC =
18 changes: 18 additions & 0 deletions example-billboard/src/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#include "ofMain.h"
#include "ofApp.h"
#include "ofxRPI4Window.h"

//========================================================================
int main( ){

ofSetLogLevel(OF_LOG_VERBOSE);

ofGLESWindowSettings settings;
settings.setSize(1280, 720);
settings.setGLESVersion(2);
auto window = std::make_shared<ofxRPI4Window>(settings);

auto app = std::make_shared<ofApp>();
ofRunApp(window, app);
ofRunMainLoop();
}
Loading

0 comments on commit 52fb35b

Please sign in to comment.