Skip to content

Commit

Permalink
Added example for MiDaS model
Browse files Browse the repository at this point in the history
  • Loading branch information
roymacdonald committed Apr 20, 2020
1 parent d9c6666 commit f725684
Show file tree
Hide file tree
Showing 13 changed files with 13,099 additions and 0 deletions.
13 changes: 13 additions & 0 deletions example-MiDaS/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=/Users/roy/openFrameworks
endif

# call the project makefile!
include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk
18 changes: 18 additions & 0 deletions example-MiDaS/Project.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.
//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED
OF_PATH = ../../..

//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE
#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig"

//ICONS - NEW IN 0072
ICON_NAME_DEBUG = icon-debug.icns
ICON_NAME_RELEASE = icon.icns
ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/

//IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to:
//ICON_FILE_PATH = bin/data/

OTHER_CFLAGS = $(OF_CORE_CFLAGS)
OTHER_LDFLAGS = $(OF_CORE_LIBS) $(OF_CORE_FRAMEWORKS)
HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS)
8 changes: 8 additions & 0 deletions example-MiDaS/addons.make
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
ofxGui
ofxHTTP
ofxIO
ofxMediaType
ofxNetworkUtils
ofxPoco
ofxRunway
ofxSSLManager
22 changes: 22 additions & 0 deletions example-MiDaS/bin/data/shader.frag
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#version 120
#extension GL_EXT_gpu_shader4 : require

uniform sampler2DRect video;
// uniform sampler2DRect depth;

varying vec2 texCoordVarying;
// uniform float pointStride;


void main()
{
// gl_FragColor = texture2DRect(video, texCoordVarying);
// if(mod(texCoordVarying.x, floor(pointStride)) > 1.f ||
// mod(texCoordVarying.y, floor(pointStride)) > 1.f){
// gl_FragColor = vec4(0.,0.,0.,0.);
// }else{
gl_FragColor = texture2DRect(video, texCoordVarying);
// gl_FragColor = vec4(texCoordVarying,0.,1.0);
// gl_FragColor = vec4(1.0,0.,0.,1.0);
// }
}
61 changes: 61 additions & 0 deletions example-MiDaS/bin/data/shader.vert
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#version 120
#extension GL_EXT_gpu_shader4 : require

uniform sampler2DRect video;
uniform sampler2DRect depth;
uniform float depth_scale;
uniform float pointSize;
uniform vec2 res;
uniform vec2 img_size;
// uniform float stride;

varying vec2 texCoordVarying;


void main()
{

// float instanceX = mod(gl_InstanceID,x_res);///x_res;// - x_res/2.0);
// float instanceY = floor(gl_InstanceID/x_res);//y_res; //;- y_res/2.0);

// vec4 pos = gl_Vertex * pointSize;
// pos.x += instanceX * stride;
// pos.y += instanceY * stride;

// texCoordVarying = vec2(instanceX/x_res, instanceY/y_res);

// // pos.z += texture2DRect(depth, texCoordVarying).g * depth_scale;



// // finally set the pos to be that actual position rendered
// gl_Position = gl_ModelViewProjectionMatrix * pos;
// }



vec2 instance;
instance.x = mod(gl_InstanceID,res.x);// / res.x - 0.5;
instance.y = floor(gl_InstanceID/res.x);// / res.y - 0.5;

instance /= res; //normalize

texCoordVarying = instance * img_size;

instance -= 0.5; // Translate so center of all instances is at {0,0}





vec4 vPos = gl_Vertex;// * pointSize;
vPos.xyz = vPos.xyz * pointSize;


// vPos.z +=

vPos = vPos + vec4(instance.x * img_size.x, instance.y * -img_size.y , -texture2DRect(depth, texCoordVarying).g * depth_scale,0.0);


gl_Position = gl_ModelViewProjectionMatrix * vPos ;
}
142 changes: 142 additions & 0 deletions example-MiDaS/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.
# TODO: should this be a default setting?
# PROJECT_LDFLAGS=-Wl,-rpath=./libs

################################################################################
# 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 =
Loading

0 comments on commit f725684

Please sign in to comment.