├── Fringe Projection Simulator 2013.sln ├── Fringe Projection Simulator 2013.suo ├── Fringe Projection Simulator 2013 ├── 3Dmodels │ ├── Realtest_R6_smooth.STL │ └── Realtest_R6_smooth_ref.STL ├── Artesis_button001.dll ├── External resources │ ├── Artesis_button001.dll │ ├── OpenTK.Compatibility.dll │ ├── OpenTK.GLControl.dll │ ├── OpenTK.dll │ ├── Tao.FreeGlut.dll │ └── freeglut.dll ├── FDMath.vb ├── Form1.Designer.vb ├── Form1.resx ├── Form1.vb ├── Fringe Projection Simulator 2013.vbproj ├── Fringe Projection Simulator 2013.vbproj.user ├── MeasurementFiles │ ├── measurement_Ball_rev2-02-2013.fpss │ └── measurement_Ref_rev2-02-2013.fpss ├── My Project │ ├── Application.Designer.vb │ ├── Application.myapp │ ├── AssemblyInfo.vb │ ├── Resources.Designer.vb │ ├── Resources.resx │ ├── Settings.Designer.vb │ └── Settings.settings ├── OpenGLRev01.vb ├── Shaders │ ├── AllT.txt │ ├── FST.txt │ ├── FS_1a.glsl │ ├── FS_1d.glsl │ ├── FS_all.glsl │ ├── FS_all_rev.glsl │ ├── FS_all_v22-09-2012.glsl │ ├── FS_all_v26-11-2012.glsl │ ├── VS_all.glsl │ └── measurement1.fpss ├── bin │ ├── Debug │ │ ├── 3Dmodels │ │ │ ├── Realtest_R6_smooth.STL │ │ │ └── Realtest_R6_smooth_ref.STL │ │ ├── Artesis_button001.dll │ │ ├── Fringe Projection Simulator 2013.exe │ │ ├── Fringe Projection Simulator 2013.pdb │ │ ├── Fringe Projection Simulator 2013.vshost.exe │ │ ├── Fringe Projection Simulator 2013.vshost.exe.manifest │ │ ├── Fringe Projection Simulator 2013.xml │ │ ├── MeasurementFiles │ │ │ ├── measurement_Ball_rev2-02-2013.fpss │ │ │ └── measurement_Ref_rev2-02-2013.fpss │ │ ├── ModelPath.fdsf │ │ ├── OpenTK.Compatibility.dll │ │ ├── OpenTK.GLControl.dll │ │ ├── OpenTK.dll │ │ ├── Shaders │ │ │ ├── AllT.txt │ │ │ ├── FST.txt │ │ │ ├── FS_1a.glsl │ │ │ ├── FS_1d.glsl │ │ │ ├── FS_all.glsl │ │ │ ├── FS_all_rev.glsl │ │ │ ├── FS_all_v22-09-2012.glsl │ │ │ ├── FS_all_v26-11-2012.glsl │ │ │ ├── VS_all.glsl │ │ │ └── measurement1.fpss │ │ ├── Tao.FreeGlut.dll │ │ └── freeglut.dll │ └── Release │ │ ├── 3Dmodels │ │ ├── Realtest_R6_smooth.STL │ │ └── Realtest_R6_smooth_ref.STL │ │ ├── Artesis_button001.dll │ │ ├── Fringe Projection Simulator 2013.exe │ │ ├── Fringe Projection Simulator 2013.vshost.exe │ │ ├── Fringe Projection Simulator 2013.vshost.exe.manifest │ │ ├── Fringe Projection Simulator 2013.xml │ │ ├── MeasurementFiles │ │ ├── measurement_Ball_rev2-02-2013.fpss │ │ └── measurement_Ref_rev2-02-2013.fpss │ │ ├── OpenTK.Compatibility.dll │ │ ├── OpenTK.GLControl.dll │ │ ├── OpenTK.dll │ │ ├── Shaders │ │ ├── AllT.txt │ │ ├── FST.txt │ │ ├── FS_1a.glsl │ │ ├── FS_1d.glsl │ │ ├── FS_all.glsl │ │ ├── FS_all_rev.glsl │ │ ├── FS_all_v22-09-2012.glsl │ │ ├── FS_all_v26-11-2012.glsl │ │ ├── VS_all.glsl │ │ └── measurement1.fpss │ │ ├── Tao.FreeGlut.dll │ │ └── freeglut.dll ├── freeglut.dll ├── frmAbout.Designer.vb ├── frmAbout.resx ├── frmAbout.vb ├── frmBeamerParameters.Designer.vb ├── frmBeamerParameters.resx ├── frmBeamerParameters.vb ├── frmCameraParameters.Designer.vb ├── frmCameraParameters.resx ├── frmCameraParameters.vb ├── frmGratingParameters.Designer.vb ├── frmGratingParameters.resx ├── frmGratingParameters.vb ├── frmPhaseShift.Designer.vb ├── frmPhaseShift.resx ├── frmPhaseShift.vb ├── frmProgress.Designer.vb ├── frmProgress.resx ├── frmProgress.vb └── obj │ └── x86 │ ├── Debug │ ├── DesignTimeResolveAssemblyReferences.cache │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ ├── Fringe Projection Simulator 2013.exe │ ├── Fringe Projection Simulator 2013.pdb │ ├── Fringe Projection Simulator 2013.vbproj.FileListAbsolute.txt │ ├── Fringe Projection Simulator 2013.vbproj.GenerateResource.Cache │ ├── Fringe Projection Simulator 2013.vbprojResolveAssemblyReference.cache │ ├── Fringe Projection Simulator 2013.xml │ ├── Fringe_Projection_Simulator_2013.Form1.resources │ ├── Fringe_Projection_Simulator_2013.Resources.resources │ ├── Fringe_Projection_Simulator_2013.frmAbout.resources │ ├── Fringe_Projection_Simulator_2013.frmBeamerParameters.resources │ ├── Fringe_Projection_Simulator_2013.frmCameraParameters.resources │ ├── Fringe_Projection_Simulator_2013.frmGratingParameters.resources │ ├── Fringe_Projection_Simulator_2013.frmPhaseShift.resources │ ├── Fringe_Projection_Simulator_2013.frmProgress.resources │ └── TempPE │ │ └── My Project.Resources.Designer.vb.dll │ └── Release │ ├── Fringe Projection Simulator 2013.exe │ ├── Fringe Projection Simulator 2013.vbproj.FileListAbsolute.txt │ ├── Fringe Projection Simulator 2013.xml │ ├── Fringe_Projection_Simulator_2013.Form1.resources │ ├── Fringe_Projection_Simulator_2013.Resources.resources │ ├── Fringe_Projection_Simulator_2013.frmAbout.resources │ ├── Fringe_Projection_Simulator_2013.frmBeamerParameters.resources │ ├── Fringe_Projection_Simulator_2013.frmCameraParameters.resources │ ├── Fringe_Projection_Simulator_2013.frmGratingParameters.resources │ ├── Fringe_Projection_Simulator_2013.frmPhaseShift.resources │ ├── Fringe_Projection_Simulator_2013.frmProgress.resources │ └── TempPE │ └── My Project.Resources.Designer.vb.dll ├── Manual.pdf ├── gpl.txt └── license.txt /Fringe Projection Simulator 2013.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Fringe Projection Simulator 2013", "Fringe Projection Simulator 2013\Fringe Projection Simulator 2013.vbproj", "{F9366705-3ED5-4983-A4D6-F74CD7E36F51}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {F9366705-3ED5-4983-A4D6-F74CD7E36F51}.Debug|x86.ActiveCfg = Debug|x86 13 | {F9366705-3ED5-4983-A4D6-F74CD7E36F51}.Debug|x86.Build.0 = Debug|x86 14 | {F9366705-3ED5-4983-A4D6-F74CD7E36F51}.Release|x86.ActiveCfg = Release|x86 15 | {F9366705-3ED5-4983-A4D6-F74CD7E36F51}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013.suo -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/3Dmodels/Realtest_R6_smooth.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/3Dmodels/Realtest_R6_smooth.STL -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/3Dmodels/Realtest_R6_smooth_ref.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/3Dmodels/Realtest_R6_smooth_ref.STL -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/Artesis_button001.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/Artesis_button001.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/External resources/Artesis_button001.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/External resources/Artesis_button001.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/External resources/OpenTK.Compatibility.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/External resources/OpenTK.Compatibility.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/External resources/OpenTK.GLControl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/External resources/OpenTK.GLControl.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/External resources/OpenTK.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/External resources/OpenTK.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/External resources/Tao.FreeGlut.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/External resources/Tao.FreeGlut.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/External resources/freeglut.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/External resources/freeglut.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/Fringe Projection Simulator 2013.vbproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ShowAllFiles 5 | 6 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/MeasurementFiles/measurement_Ball_rev2-02-2013.fpss: -------------------------------------------------------------------------------- 1 | 2 | 3 |
This is a Fringe Projection Simulator Settings File for ACER projector and AVT pike Camera made by Bart Ribbens
4 | This file contains the settings for a single temporal measurements: Situation 1a 5 | 22 October 2013 6 | F:\DOCUMENTS\Onderzoeksprojecten\Software\FPS 2013\VB 2013\Fringe Projection Simulator 2013\Fringe Projection Simulator 2013\bin\Debug\3Dmodels\Realtest_R6_smooth.STL 7 | 8 | 9 | 0.0 10 | 0.0 11 | 50.0 12 | 13 | 14 | 0.0 15 | 0.0 16 | 0.0 17 | 18 | 19 | 20000 20 | 20000 21 | 22 | diverging 23 | 24 | 0.497479623 25 | 1.33333333333333 26 | 60.0 27 | 0.0 28 | 29 | 30 | -5.08 31 | 1.14 32 | 30.0 33 | 5.08 34 | 8.76 35 | 30.0 36 | 37 | 38 | 39 | 40 | 11.64686 41 | 12.375 42 | 43.46666 43 | 44 | 45 | 0.0 46 | 12.375 47 | 0.0 48 | 49 | 50 | 20000 51 | 20000 52 | 53 | Diverging 54 | 55 | 0.442628885 56 | 1.33333333333333 57 | 1 58 | 1000 59 | 60.0 60 | 0.0 61 | 62 | 63 | 3.417905 64 | -3.375 65 | 30.14246 66 | 12.11124 67 | 3.375 68 | 27.81309 69 | 70 | 71 | 72 | fringe 73 | C:\Users\Bart\Desktop\Measurements\Simulations 02-02-2013 ball f5-30 400steps\ 74 | M001_ 75 | 76 | 1 77 | 400 78 | 79 | 80 | 5.0 81 | 30.0 82 | 83 | 84 | 0.0 85 | 0.0 86 | 87 | 88 | 89 | 90 |
-------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/MeasurementFiles/measurement_Ref_rev2-02-2013.fpss: -------------------------------------------------------------------------------- 1 | 2 | 3 |
This is a Fringe Projection Simulator Settings File for ACER projector and AVT pike Camera made by Bart Ribbens
4 | This file contains the settings for a single temporal measurements: Situation 1a 5 | 22 October 2013 6 | F:\DOCUMENTS\Onderzoeksprojecten\Software\FPS 2013\VB 2013\Fringe Projection Simulator 2013\Fringe Projection Simulator 2013\bin\Debug\3Dmodels\Realtest_R6_smooth_ref.STL 7 | 8 | 9 | 0.0 10 | 0.0 11 | 50.0 12 | 13 | 14 | 0.0 15 | 0.0 16 | 0.0 17 | 18 | 19 | 20000 20 | 20000 21 | 22 | diverging 23 | 24 | 0.497479623 25 | 1.33333333333333 26 | 60.0 27 | 0.0 28 | 29 | 30 | -5.08 31 | 1.14 32 | 30.0 33 | 5.08 34 | 8.76 35 | 30.0 36 | 37 | 38 | 39 | 40 | 11.64686 41 | 12.375 42 | 43.46666 43 | 44 | 45 | 0.0 46 | 12.375 47 | 0.0 48 | 49 | 50 | 20000 51 | 20000 52 | 53 | Diverging 54 | 55 | 0.442628885 56 | 1.33333333333333 57 | 1 58 | 1000 59 | 60.0 60 | 0.0 61 | 62 | 63 | 3.417905 64 | -3.375 65 | 30.14246 66 | 12.11124 67 | 3.375 68 | 27.81309 69 | 70 | 71 | 72 | fringe 73 | C:\Users\Bart\Desktop\Measurements\Simulations 02-02-2013 ref f5-30 400steps\ 74 | M001_ 75 | 76 | 1 77 | 400 78 | 79 | 80 | 5.0 81 | 30.0 82 | 83 | 84 | 0.0 85 | 0.0 86 | 87 | 88 | 89 | 90 |
-------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/My Project/Application.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.34003 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | 'NOTE: This file is auto-generated; do not modify it directly. To make changes, 18 | ' or if you encounter build errors in this file, go to the Project Designer 19 | ' (go to Project Properties or double-click the My Project node in 20 | ' Solution Explorer), and make changes on the Application tab. 21 | ' 22 | Partial Friend Class MyApplication 23 | 24 | _ 25 | Public Sub New() 26 | MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) 27 | Me.IsSingleInstance = false 28 | Me.EnableVisualStyles = true 29 | Me.SaveMySettingsOnExit = true 30 | Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses 31 | End Sub 32 | 33 | _ 34 | Protected Overrides Sub OnCreateMainForm() 35 | Me.MainForm = Global.Fringe_Projection_Simulator_2013.Form1 36 | End Sub 37 | End Class 38 | End Namespace 39 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/My Project/Application.myapp: -------------------------------------------------------------------------------- 1 |  2 | 3 | true 4 | Form1 5 | false 6 | 0 7 | true 8 | 0 9 | 0 10 | true 11 | 12 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/My Project/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | 5 | ' General Information about an assembly is controlled through the following 6 | ' set of attributes. Change these attribute values to modify the information 7 | ' associated with an assembly. 8 | 9 | ' Review the values of the assembly attributes 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 'The following GUID is for the ID of the typelib if this project is exposed to COM 21 | 22 | 23 | ' Version information for an assembly consists of the following four values: 24 | ' 25 | ' Major Version 26 | ' Minor Version 27 | ' Build Number 28 | ' Revision 29 | ' 30 | ' You can specify all the values or you can default the Build and Revision Numbers 31 | ' by using the '*' as shown below: 32 | ' 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/My Project/Resources.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.34003 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My.Resources 16 | 17 | 'This class was auto-generated by the StronglyTypedResourceBuilder 18 | 'class via a tool like ResGen or Visual Studio. 19 | 'To add or remove a member, edit your .ResX file then rerun ResGen 20 | 'with the /str option, or rebuild your VS project. 21 | ''' 22 | ''' A strongly-typed resource class, for looking up localized strings, etc. 23 | ''' 24 | _ 28 | Friend Module Resources 29 | 30 | Private resourceMan As Global.System.Resources.ResourceManager 31 | 32 | Private resourceCulture As Global.System.Globalization.CultureInfo 33 | 34 | ''' 35 | ''' Returns the cached ResourceManager instance used by this class. 36 | ''' 37 | _ 38 | Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager 39 | Get 40 | If Object.ReferenceEquals(resourceMan, Nothing) Then 41 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Fringe_Projection_Simulator_2013.Resources", GetType(Resources).Assembly) 42 | resourceMan = temp 43 | End If 44 | Return resourceMan 45 | End Get 46 | End Property 47 | 48 | ''' 49 | ''' Overrides the current thread's CurrentUICulture property for all 50 | ''' resource lookups using this strongly typed resource class. 51 | ''' 52 | _ 53 | Friend Property Culture() As Global.System.Globalization.CultureInfo 54 | Get 55 | Return resourceCulture 56 | End Get 57 | Set(ByVal value As Global.System.Globalization.CultureInfo) 58 | resourceCulture = value 59 | End Set 60 | End Property 61 | End Module 62 | End Namespace 63 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/My Project/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/My Project/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.34003 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | _ 20 | Partial Friend NotInheritable Class MySettings 21 | Inherits Global.System.Configuration.ApplicationSettingsBase 22 | 23 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) 24 | 25 | #Region "My.Settings Auto-Save Functionality" 26 | #If _MyType = "WindowsForms" Then 27 | Private Shared addedHandler As Boolean 28 | 29 | Private Shared addedHandlerLockObject As New Object 30 | 31 | _ 32 | Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) 33 | If My.Application.SaveMySettingsOnExit Then 34 | My.Settings.Save() 35 | End If 36 | End Sub 37 | #End If 38 | #End Region 39 | 40 | Public Shared ReadOnly Property [Default]() As MySettings 41 | Get 42 | 43 | #If _MyType = "WindowsForms" Then 44 | If Not addedHandler Then 45 | SyncLock addedHandlerLockObject 46 | If Not addedHandler Then 47 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings 48 | addedHandler = True 49 | End If 50 | End SyncLock 51 | End If 52 | #End If 53 | Return defaultInstance 54 | End Get 55 | End Property 56 | End Class 57 | End Namespace 58 | 59 | Namespace My 60 | 61 | _ 64 | Friend Module MySettingsProperty 65 | 66 | _ 67 | Friend ReadOnly Property Settings() As Global.Fringe_Projection_Simulator_2013.My.MySettings 68 | Get 69 | Return Global.Fringe_Projection_Simulator_2013.My.MySettings.Default 70 | End Get 71 | End Property 72 | End Module 73 | End Namespace 74 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/My Project/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/Shaders/AllT.txt: -------------------------------------------------------------------------------- 1 | //Calculate width & height along X and Y 2 | gratingwidth = abs(p2x-p1x); 3 | gratingheight = abs(p2y-p1y); 4 | 5 | //If sine wave is needed 6 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 7 | 8 | //---------------------------------------------------------------------------------------------------------------------------------------- 9 | //1. Calculate rico 10 | rico = (tarz-locz)/(tarx-locx); 11 | 12 | //2a. Project tar on ref plane 13 | projtarx = (0.0-locz)/rico+locx; 14 | 15 | //2b. Project fragment value on Z=0 plane 16 | xvalue = (0.0-V.z)/rico+V.x; 17 | 18 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 19 | beta = atan(locz/(projtarx-locx)); 20 | 21 | //3b. Calculate xmin and xmax; 22 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 23 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 24 | 25 | //4. Lookup the colorvalue 26 | //If sine wave is needed 27 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 28 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/Shaders/FST.txt: -------------------------------------------------------------------------------- 1 | //FS ALL 2 | //---------------------------------------------------------------------------------------------------------------------------------------- 3 | //Calculate width & height along X and Y 4 | gratingwidth = abs(p2x-p1x); 5 | gratingheight = abs(p2y-p1y); 6 | 7 | //If sine wave is needed 8 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 9 | 10 | //---------------------------------------------------------------------------------------------------------------------------------------- 11 | //1. Calculate rico 12 | rico = (tarz-locz)/(tarx-locx); 13 | 14 | //2a. Project tar on ref plane 15 | projtarx = (0.0-locz)/rico+locx; 16 | 17 | //2b. Project fragment value on Z=0 plane 18 | xvalue = (0.0-V.z)/rico+V.x; 19 | 20 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 21 | beta = atan(locz/(projtarx-locx)); 22 | 23 | //3b. Calculate xmin and xmax; 24 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 25 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 26 | 27 | //4. Lookup the colorvalue 28 | //If sine wave is needed 29 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 30 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/Shaders/FS_1a.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | uniform float pi; 5 | uniform float calibration; 6 | uniform float blackout; 7 | 8 | //---------------------------------------------------------------------------------------------------------------------------------------- 9 | // Grating parameters 10 | uniform int blnGratingEnabled; 11 | uniform float gratingfrequency; 12 | uniform float gratingshift; 13 | uniform float p1x; 14 | uniform float p1y; 15 | uniform float p1z; 16 | uniform float p2x; 17 | uniform float p2y; 18 | uniform float p2z; 19 | uniform int pixelgratingwidth; 20 | uniform int pixelgratingheight; 21 | 22 | //---------------------------------------------------------------------------------------------------------------------------------------- 23 | // Projection parameters 24 | uniform float beamerfov; //X direction 25 | uniform float beamerfrequency; 26 | uniform float beamershift; 27 | uniform float tarx; 28 | uniform float tary; 29 | uniform float tarz; 30 | uniform float locx; 31 | uniform float locy; 32 | uniform float locz; 33 | uniform float bp1x; 34 | uniform float bp1z; 35 | uniform float bp2x; 36 | uniform float bp2z; 37 | uniform int pixelbeamerwidth; 38 | uniform int pixelbeamerheight; 39 | //---------------------------------------------------------------------------------------------------------------------------------------- 40 | 41 | void main() 42 | { 43 | float color; 44 | float colormultiplier; 45 | float shadowtest; 46 | //---------------------------------------------------------------------------------------------------------------------------------------- 47 | //Declarations 48 | float alphavalue; 49 | float gratingwidth; 50 | float gratingheight; 51 | vec4 originalcolor; 52 | originalcolor = gl_FrontMaterial.diffuse; 53 | vec4 FragColor; 54 | int i; 55 | float cutoff; 56 | cutoff = 1.0; 57 | 58 | float clrvalue; 59 | float xunknown; 60 | float zunknown; 61 | float c1; 62 | float c2; 63 | float rico1; 64 | float rico2; 65 | 66 | shadowtest = abs(diffuse.x)+abs(diffuse.y)+abs(diffuse.z); 67 | if (shadowtest > 0.0) 68 | { 69 | colormultiplier = 1.0; 70 | } 71 | else 72 | { 73 | colormultiplier = 0.0; 74 | } 75 | 76 | //Calculate width & height along X and Y 77 | gratingwidth = abs(p2x-p1x); 78 | gratingheight = abs(p2y-p1y); 79 | 80 | //If sine wave is needed 81 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 82 | 83 | //---------------------------------------------------------------------------------------------------------------------------------------- 84 | //1. Calculate line of grating 85 | rico1 = (bp2z-bp1z)/(bp2x-bp1x); 86 | c1 = bp2z-rico1*bp2x; 87 | 88 | //2. Calculate target line 89 | rico2 = (V.z-locz)/(V.x-locx); 90 | c2 = V.z-rico2*V.x; 91 | 92 | //3. Calculate intersection 93 | xunknown = (c2-c1)/(rico1-rico2); 94 | zunknown = rico1*xunknown+c1; 95 | 96 | if (xunknown < bp1x) 97 | { 98 | cutoff = 0.0; 99 | } 100 | if (xunknown > bp2x) 101 | { 102 | cutoff = 0.0; 103 | } 104 | 105 | //4. Lookup the colorvalue 106 | //If sine wave is needed 107 | clrvalue = (sin((floor((xunknown-bp1x)/(bp2x-bp1x)*float(pixelbeamerwidth))/float(pixelbeamerwidth))*2.0*pi*beamerfrequency+beamershift)+1)/2; 108 | 109 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 110 | //gl_FragColor = myColor; 111 | //---------------------------------------------------------------------------------------------------------------------------------------- 112 | //Main program 113 | if (originalcolor[1] > 0.5) 114 | { 115 | clrvalue = clrvalue*cutoff*colormultiplier; 116 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 117 | } 118 | else 119 | { 120 | gl_FragColor = vec4(0,0,0,alphavalue); 121 | } 122 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/Shaders/FS_1d.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | uniform float pi; 5 | uniform float calibration; 6 | uniform float blackout; 7 | 8 | //---------------------------------------------------------------------------------------------------------------------------------------- 9 | // Grating parameters 10 | uniform int blnGratingEnabled; 11 | uniform float gratingfrequency; 12 | uniform float gratingshift; 13 | uniform float p1x; 14 | uniform float p1y; 15 | uniform float p1z; 16 | uniform float p2x; 17 | uniform float p2y; 18 | uniform float p2z; 19 | uniform int pixelgratingwidth; 20 | uniform int pixelgratingheight; 21 | 22 | //---------------------------------------------------------------------------------------------------------------------------------------- 23 | // Projection parameters 24 | uniform float beamerfov; //X direction 25 | uniform float beamerfrequency; 26 | uniform float beamershift; 27 | uniform float beamerwidth; 28 | uniform float tarx; 29 | uniform float tary; 30 | uniform float tarz; 31 | uniform float locx; 32 | uniform float locy; 33 | uniform float locz; 34 | uniform int pixelbeamerwidth; 35 | uniform int pixelbeamerheight; 36 | //---------------------------------------------------------------------------------------------------------------------------------------- 37 | 38 | void main() 39 | { 40 | float color; 41 | float colormultiplier; 42 | float shadowtest; 43 | //---------------------------------------------------------------------------------------------------------------------------------------- 44 | //Declarations 45 | float alphavalue; 46 | float gratingwidth; 47 | float gratingheight; 48 | vec4 originalcolor; 49 | originalcolor = gl_FrontMaterial.diffuse; 50 | vec4 FragColor; 51 | int i; 52 | float cutoff; 53 | cutoff = 1.0; 54 | 55 | float clrvalue; 56 | float xvalue; 57 | float rico; 58 | float projtarx; 59 | float beta; 60 | float xmin; 61 | float xmax; 62 | 63 | shadowtest = diffuse.x+diffuse.y+diffuse.z; 64 | if (shadowtest > 0.0) 65 | { 66 | colormultiplier = 1.0; 67 | } 68 | else 69 | { 70 | colormultiplier = 1.0; 71 | } 72 | 73 | //---------------------------------------------------------------------------------------------------------------------------------------- 74 | //Calculate width & height along X and Y 75 | gratingwidth = abs(p2x-p1x); 76 | gratingheight = abs(p2y-p1y); 77 | 78 | //If sine wave is needed 79 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 80 | 81 | //---------------------------------------------------------------------------------------------------------------------------------------- 82 | //1. Calculate rico 83 | rico = (tarz-locz)/(tarx-locx); 84 | 85 | //2a. Project tar on ref plane 86 | projtarx = (0.0-locz)/rico+locx; 87 | 88 | //2b. Project fragment value on Z=0 plane 89 | xvalue = (0.0-V.z)/rico+V.x; 90 | 91 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 92 | beta = atan(locz/(projtarx-locx)); 93 | 94 | //3b. Calculate xmin and xmax; 95 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 96 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 97 | 98 | //4. Lookup the colorvalue 99 | //If sine wave is needed 100 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 101 | 102 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 103 | //gl_FragColor = myColor; 104 | //---------------------------------------------------------------------------------------------------------------------------------------- 105 | //Main program 106 | if (originalcolor[1] > 0.5) 107 | { 108 | 109 | //3c. Less than xmin, higher than xmax is cutoff 110 | if (xvalue < xmin) 111 | { 112 | cutoff = 0.0; 113 | } 114 | if (xvalue > xmax) 115 | { 116 | cutoff = 0.0; 117 | } 118 | 119 | clrvalue = clrvalue*cutoff*colormultiplier; 120 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 121 | } 122 | else 123 | { 124 | gl_FragColor = vec4(0,0,0,alphavalue); 125 | } 126 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/Shaders/FS_all.glsl: -------------------------------------------------------------------------------- 1 | #version 150 2 | in vec3 V; 3 | in vec4 diffuse; 4 | 5 | out vec4 gl_FragColor; 6 | 7 | struct gl_MaterialParameters 8 | { 9 | vec4 emission; 10 | vec4 ambient; 11 | vec4 diffuse; 12 | vec4 specular; 13 | float shininess; 14 | }; 15 | uniform gl_MaterialParameters gl_FrontMaterial; 16 | uniform gl_MaterialParameters gl_BackMaterial; 17 | 18 | uniform float pi; 19 | uniform float calibration; 20 | uniform float blackout; 21 | uniform int beamerlenstype; 22 | // 0 = diverging 23 | // 1 = telecentric 24 | 25 | //---------------------------------------------------------------------------------------------------------------------------------------- 26 | // Grating parameters 27 | uniform int blnGratingEnabled; 28 | uniform float gratingfrequency; 29 | uniform float gratingshift; 30 | uniform float p1x; 31 | uniform float p1y; 32 | uniform float p1z; 33 | uniform float p2x; 34 | uniform float p2y; 35 | uniform float p2z; 36 | uniform int pixelgratingwidth; 37 | uniform int pixelgratingheight; 38 | 39 | //---------------------------------------------------------------------------------------------------------------------------------------- 40 | // Projection parameters 41 | uniform float beamerfov; //X direction 42 | uniform float beamerfrequency; 43 | uniform float beamershift; 44 | uniform float beamerwidth; 45 | uniform float tarx; 46 | uniform float tary; 47 | uniform float tarz; 48 | uniform float locx; 49 | uniform float locy; 50 | uniform float locz; 51 | uniform float bp1x; 52 | uniform float bp1y; 53 | uniform float bp1z; 54 | uniform float bp2x; 55 | uniform float bp2y; 56 | uniform float bp2z; 57 | uniform int pixelbeamerwidth; 58 | uniform int pixelbeamerheight; 59 | //---------------------------------------------------------------------------------------------------------------------------------------- 60 | 61 | void main() 62 | { 63 | float color; 64 | float colormultiplier; 65 | float shadowtest; 66 | //---------------------------------------------------------------------------------------------------------------------------------------- 67 | //Declarations 68 | float alphavalue; 69 | float gratingwidth; 70 | float gratingheight; 71 | vec4 originalcolor; 72 | originalcolor = gl_FrontMaterial.diffuse; 73 | vec4 FragColor; 74 | int i; 75 | float cutoff; 76 | cutoff = 1.0; 77 | 78 | float clrvalue; 79 | float xvalue; 80 | float rico; 81 | float projtarx; 82 | float beta; 83 | float xmin; 84 | float xmax; 85 | float xunknown; 86 | float yunknown; 87 | float zunknown; 88 | float c1; 89 | float c2; 90 | float rico1; 91 | float rico2; 92 | 93 | vec3 R; 94 | vec3 B; 95 | mat3 A; 96 | 97 | shadowtest = abs(diffuse.x)+abs(diffuse.y)+abs(diffuse.z); 98 | if (shadowtest > 0.0) 99 | { 100 | colormultiplier = 1.0; 101 | } 102 | else 103 | { 104 | colormultiplier = 0.0; 105 | } 106 | 107 | if (beamerlenstype == 0) // DIVERGING LENS 108 | { 109 | //Calculate width & height along X and Y 110 | gratingwidth = abs(p2x-p1x); 111 | gratingheight = abs(p2y-p1y); 112 | 113 | //If sine wave is needed 114 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 115 | 116 | //---------------------------------------------------------------------------------------------------------------------------------------- 117 | //Find intersection between ray and grating to find if the ray passes the grating 118 | //1. Define Matrices 119 | A = mat3( 120 | V.x-locx, V.y-locy, V.z-locz, // first column (not row!) 121 | 0.0, bp2y-bp1y, 0.0, // second column 122 | bp2x-bp1x, bp2y-bp1y, bp2z-bp1z // third column 123 | ); 124 | B = vec3(V.x-bp1x,V.y-bp1y,V.z-bp1z); 125 | 126 | R = inverse(A)*B; 127 | 128 | xunknown = V.x + R[0]*(locx-V.x); 129 | yunknown = V.y + R[0]*(locy-V.y); 130 | 131 | ////1. Calculate line of grating x 132 | //rico1 = (bp2z-bp1z)/(bp2x-bp1x); 133 | //c1 = bp2z-rico1*bp2x; 134 | 135 | ////2. Calculate target line x 136 | //rico2 = (V.z-locz)/(V.x-locx); 137 | //c2 = V.z-rico2*V.x; 138 | 139 | ////3. Calculate intersection x 140 | //xunknown = (c2-c1)/(rico1-rico2); 141 | //zunknown = rico1*xunknown+c1; 142 | 143 | if (xunknown < bp1x) 144 | { 145 | cutoff = 0.0; 146 | } 147 | if (xunknown > bp2x) 148 | { 149 | cutoff = 0.0; 150 | } 151 | if (yunknown < bp1y) 152 | { 153 | cutoff = 0.0; 154 | } 155 | if (yunknown > bp2y) 156 | { 157 | cutoff = 0.0; 158 | } 159 | 160 | //4. Lookup the colorvalue 161 | //If sine wave is needed 162 | clrvalue = (sin((floor((xunknown-bp1x)/(bp2x-bp1x)*float(pixelbeamerwidth))/float(pixelbeamerwidth))*2.0*pi*beamerfrequency+beamershift)+1)/2; 163 | 164 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 165 | //gl_FragColor = myColor; 166 | //---------------------------------------------------------------------------------------------------------------------------------------- 167 | //Main program 168 | if (originalcolor[1] > 0.5) 169 | { 170 | clrvalue = clrvalue*cutoff*colormultiplier; 171 | //gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 172 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 173 | } 174 | else 175 | { 176 | //gl_FragColor = vec4(0,0,0,alphavalue); 177 | gl_FragColor = vec4(0,0,0,alphavalue); 178 | } 179 | } 180 | else //TELECENTRIC LENS 181 | { 182 | //---------------------------------------------------------------------------------------------------------------------------------------- 183 | //Calculate width & height along X and Y 184 | gratingwidth = abs(p2x-p1x); 185 | gratingheight = abs(p2y-p1y); 186 | 187 | //If sine wave is needed 188 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 189 | 190 | //---------------------------------------------------------------------------------------------------------------------------------------- 191 | //1. Calculate rico 192 | rico = (tarz-locz)/(tarx-locx); 193 | 194 | //2a. Project tar on ref plane 195 | projtarx = (0.0-locz)/rico+locx; 196 | 197 | //2b. Project fragment value on Z=0 plane 198 | xvalue = (0.0-V.z)/rico+V.x; 199 | 200 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 201 | beta = atan(locz/(projtarx-locx)); 202 | 203 | //3b. Calculate xmin and xmax; 204 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 205 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 206 | 207 | //4. Lookup the colorvalue 208 | //If sine wave is needed 209 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 210 | 211 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 212 | //gl_FragColor = myColor; 213 | //---------------------------------------------------------------------------------------------------------------------------------------- 214 | //Main program 215 | if (originalcolor[1] > 0.5) 216 | { 217 | 218 | //3c. Less than xmin, higher than xmax is cutoff 219 | if (xvalue < xmin) 220 | { 221 | cutoff = 0.0; 222 | } 223 | if (xvalue > xmax) 224 | { 225 | cutoff = 0.0; 226 | } 227 | 228 | clrvalue = clrvalue*cutoff*colormultiplier*0; 229 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 230 | 231 | } 232 | else 233 | { 234 | //gl_FragColor = vec4(0,0,0,alphavalue); 235 | gl_FragColor = vec4(0.0,1.0,0.0,alphavalue); 236 | } 237 | } 238 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/Shaders/FS_all_rev.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | uniform float pi; 5 | uniform float calibration; 6 | uniform float blackout; 7 | uniform int beamerlenstype; 8 | // 0 = diverging 9 | // 1 = telecentric 10 | 11 | //---------------------------------------------------------------------------------------------------------------------------------------- 12 | // Grating parameters 13 | uniform int blnGratingEnabled; 14 | uniform float gratingfrequency; 15 | uniform float gratingshift; 16 | uniform float p1x; 17 | uniform float p1y; 18 | uniform float p1z; 19 | uniform float p2x; 20 | uniform float p2y; 21 | uniform float p2z; 22 | uniform int pixelgratingwidth; 23 | uniform int pixelgratingheight; 24 | 25 | //---------------------------------------------------------------------------------------------------------------------------------------- 26 | // Projection parameters 27 | uniform float beamerfov; //X direction 28 | uniform float beamerfrequency; 29 | uniform float beamershift; 30 | uniform float beamerwidth; 31 | uniform float tarx; 32 | uniform float tary; 33 | uniform float tarz; 34 | uniform float locx; 35 | uniform float locy; 36 | uniform float locz; 37 | uniform float bp1x; 38 | uniform float bp1z; 39 | uniform float bp2x; 40 | uniform float bp2z; 41 | uniform int pixelbeamerwidth; 42 | uniform int pixelbeamerheight; 43 | //---------------------------------------------------------------------------------------------------------------------------------------- 44 | 45 | void main() 46 | { 47 | float color; 48 | float colormultiplier; 49 | float shadowtest; 50 | //---------------------------------------------------------------------------------------------------------------------------------------- 51 | //Declarations 52 | float alphavalue; 53 | float gratingwidth; 54 | float gratingheight; 55 | vec4 originalcolor; 56 | originalcolor = gl_FrontMaterial.diffuse; 57 | vec4 FragColor; 58 | int i; 59 | float cutoff; 60 | cutoff = 1.0; 61 | 62 | float clrvalue; 63 | float xvalue; 64 | float rico; 65 | float projtarx; 66 | float beta; 67 | float xmin; 68 | float xmax; 69 | float xunknown; 70 | float zunknown; 71 | float c1; 72 | float c2; 73 | float rico1; 74 | float rico2; 75 | 76 | shadowtest = abs(diffuse.x)+abs(diffuse.y)+abs(diffuse.z); 77 | if (shadowtest > 0.0) 78 | { 79 | colormultiplier = 1.0; 80 | } 81 | else 82 | { 83 | colormultiplier = 0.0; 84 | } 85 | 86 | if (beamerlenstype == 0) 87 | { 88 | //Calculate width & height along X and Y 89 | gratingwidth = abs(p2x-p1x); 90 | gratingheight = abs(p2y-p1y); 91 | 92 | //If sine wave is needed 93 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 94 | 95 | //---------------------------------------------------------------------------------------------------------------------------------------- 96 | //1. Calculate line of grating 97 | rico1 = (bp2z-bp1z)/(bp2x-bp1x); 98 | c1 = bp2z-rico1*bp2x; 99 | 100 | //2. Calculate target line 101 | rico2 = (V.z-locz)/(V.x-locx); 102 | c2 = V.z-rico2*V.x; 103 | 104 | //3. Calculate intersection 105 | xunknown = (c2-c1)/(rico1-rico2); 106 | zunknown = rico1*xunknown+c1; 107 | 108 | if (xunknown < bp1x) 109 | { 110 | cutoff = 0.0; 111 | } 112 | if (xunknown > bp2x) 113 | { 114 | cutoff = 0.0; 115 | } 116 | 117 | //4. Lookup the colorvalue 118 | //If sine wave is needed 119 | clrvalue = (sin((floor((xunknown-bp1x)/(bp2x-bp1x)*float(pixelbeamerwidth))/float(pixelbeamerwidth))*2.0*pi*beamerfrequency+beamershift)+1)/2; 120 | 121 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 122 | //gl_FragColor = myColor; 123 | //---------------------------------------------------------------------------------------------------------------------------------------- 124 | //Main program 125 | if (originalcolor[1] > 0.5) 126 | { 127 | clrvalue = clrvalue*cutoff*colormultiplier; 128 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 129 | } 130 | else 131 | { 132 | gl_FragColor = vec4(0,0,0,alphavalue); 133 | } 134 | } 135 | else //TELECENTRIC LENS 136 | { 137 | //---------------------------------------------------------------------------------------------------------------------------------------- 138 | //Calculate width & height along X and Y 139 | gratingwidth = abs(p2x-p1x); 140 | gratingheight = abs(p2y-p1y); 141 | 142 | //If sine wave is needed 143 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 144 | 145 | //---------------------------------------------------------------------------------------------------------------------------------------- 146 | //1. Calculate rico 147 | rico = (tarz-locz)/(tarx-locx); 148 | 149 | //2a. Project tar on ref plane 150 | projtarx = (0.0-locz)/rico+locx; 151 | 152 | //2b. Project fragment value on Z=0 plane 153 | xvalue = (0.0-V.z)/rico+V.x; 154 | 155 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 156 | beta = atan(locz/(projtarx-locx)); 157 | 158 | //3b. Calculate xmin and xmax; 159 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 160 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 161 | 162 | //4. Lookup the colorvalue 163 | //If sine wave is needed 164 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 165 | 166 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 167 | //gl_FragColor = myColor; 168 | //---------------------------------------------------------------------------------------------------------------------------------------- 169 | //Main program 170 | if (originalcolor[1] > 0.5) 171 | { 172 | 173 | //3c. Less than xmin, higher than xmax is cutoff 174 | if (xvalue < xmin) 175 | { 176 | cutoff = 0.0; 177 | } 178 | if (xvalue > xmax) 179 | { 180 | cutoff = 0.0; 181 | } 182 | 183 | clrvalue = clrvalue*cutoff*colormultiplier; 184 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 185 | } 186 | else 187 | { 188 | gl_FragColor = vec4(0,0,0,alphavalue); 189 | } 190 | } 191 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/Shaders/FS_all_v22-09-2012.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | uniform float pi; 5 | uniform float calibration; 6 | uniform float blackout; 7 | uniform int beamerlenstype; 8 | // 0 = diverging 9 | // 1 = telecentric 10 | 11 | //---------------------------------------------------------------------------------------------------------------------------------------- 12 | // Grating parameters 13 | uniform int blnGratingEnabled; 14 | uniform float gratingfrequency; 15 | uniform float gratingshift; 16 | uniform float p1x; 17 | uniform float p1y; 18 | uniform float p1z; 19 | uniform float p2x; 20 | uniform float p2y; 21 | uniform float p2z; 22 | uniform int pixelgratingwidth; 23 | uniform int pixelgratingheight; 24 | 25 | //---------------------------------------------------------------------------------------------------------------------------------------- 26 | // Projection parameters 27 | uniform float beamerfov; //X direction 28 | uniform float beamerfrequency; 29 | uniform float beamershift; 30 | uniform float beamerwidth; 31 | uniform float tarx; 32 | uniform float tary; 33 | uniform float tarz; 34 | uniform float locx; 35 | uniform float locy; 36 | uniform float locz; 37 | uniform float bp1x; 38 | uniform float bp1y; 39 | uniform float bp1z; 40 | uniform float bp2x; 41 | uniform float bp2y; 42 | uniform float bp2z; 43 | uniform int pixelbeamerwidth; 44 | uniform int pixelbeamerheight; 45 | //---------------------------------------------------------------------------------------------------------------------------------------- 46 | 47 | void main() 48 | { 49 | float color; 50 | float colormultiplier; 51 | float shadowtest; 52 | //---------------------------------------------------------------------------------------------------------------------------------------- 53 | //Declarations 54 | float alphavalue; 55 | float gratingwidth; 56 | float gratingheight; 57 | vec4 originalcolor; 58 | originalcolor = gl_FrontMaterial.diffuse; 59 | vec4 FragColor; 60 | int i; 61 | float cutoff; 62 | cutoff = 1.0; 63 | 64 | float clrvalue; 65 | float xvalue; 66 | float rico; 67 | float projtarx; 68 | float beta; 69 | float xmin; 70 | float xmax; 71 | float xunknown; 72 | float zunknown; 73 | float c1; 74 | float c2; 75 | float rico1; 76 | float rico2; 77 | 78 | shadowtest = abs(diffuse.x)+abs(diffuse.y)+abs(diffuse.z); 79 | if (shadowtest > 0.0) 80 | { 81 | colormultiplier = 1.0; 82 | } 83 | else 84 | { 85 | colormultiplier = 0.0; 86 | } 87 | 88 | if (beamerlenstype == 0) 89 | { 90 | //Calculate width & height along X and Y 91 | gratingwidth = abs(p2x-p1x); 92 | gratingheight = abs(p2y-p1y); 93 | 94 | //If sine wave is needed 95 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 96 | 97 | //---------------------------------------------------------------------------------------------------------------------------------------- 98 | //1. Calculate line of grating x 99 | rico1 = (bp2z-bp1z)/(bp2x-bp1x); 100 | c1 = bp2z-rico1*bp2x; 101 | 102 | //2. Calculate target line x 103 | rico2 = (V.z-locz)/(V.x-locx); 104 | c2 = V.z-rico2*V.x; 105 | 106 | //3. Calculate intersection x 107 | xunknown = (c2-c1)/(rico1-rico2); 108 | zunknown = rico1*xunknown+c1; 109 | 110 | if (xunknown < bp1x) 111 | { 112 | cutoff = 0.0; 113 | } 114 | if (xunknown > bp2x) 115 | { 116 | cutoff = 0.0; 117 | } 118 | 119 | //4. Lookup the colorvalue 120 | //If sine wave is needed 121 | clrvalue = (sin((floor((xunknown-bp1x)/(bp2x-bp1x)*float(pixelbeamerwidth))/float(pixelbeamerwidth))*2.0*pi*beamerfrequency+beamershift)+1)/2; 122 | 123 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 124 | //gl_FragColor = myColor; 125 | //---------------------------------------------------------------------------------------------------------------------------------------- 126 | //Main program 127 | if (originalcolor[1] > 0.5) 128 | { 129 | clrvalue = clrvalue*cutoff*colormultiplier; 130 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 131 | } 132 | else 133 | { 134 | gl_FragColor = vec4(0,0,0,alphavalue); 135 | } 136 | } 137 | else //TELECENTRIC LENS 138 | { 139 | //---------------------------------------------------------------------------------------------------------------------------------------- 140 | //Calculate width & height along X and Y 141 | gratingwidth = abs(p2x-p1x); 142 | gratingheight = abs(p2y-p1y); 143 | 144 | //If sine wave is needed 145 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 146 | 147 | //---------------------------------------------------------------------------------------------------------------------------------------- 148 | //1. Calculate rico 149 | rico = (tarz-locz)/(tarx-locx); 150 | 151 | //2a. Project tar on ref plane 152 | projtarx = (0.0-locz)/rico+locx; 153 | 154 | //2b. Project fragment value on Z=0 plane 155 | xvalue = (0.0-V.z)/rico+V.x; 156 | 157 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 158 | beta = atan(locz/(projtarx-locx)); 159 | 160 | //3b. Calculate xmin and xmax; 161 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 162 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 163 | 164 | //4. Lookup the colorvalue 165 | //If sine wave is needed 166 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 167 | 168 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 169 | //gl_FragColor = myColor; 170 | //---------------------------------------------------------------------------------------------------------------------------------------- 171 | //Main program 172 | if (originalcolor[1] > 0.5) 173 | { 174 | 175 | //3c. Less than xmin, higher than xmax is cutoff 176 | if (xvalue < xmin) 177 | { 178 | cutoff = 0.0; 179 | } 180 | if (xvalue > xmax) 181 | { 182 | cutoff = 0.0; 183 | } 184 | 185 | clrvalue = clrvalue*cutoff*colormultiplier; 186 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 187 | } 188 | else 189 | { 190 | gl_FragColor = vec4(0,0,0,alphavalue); 191 | } 192 | } 193 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/Shaders/VS_all.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | void main() 5 | { 6 | vec3 normal = gl_Normal; 7 | vec3 lightvector = normalize(gl_LightSource[0].position.xyz); 8 | float nxdir = max(0.0,dot(normal,lightvector)); 9 | diffuse = gl_LightSource[0].diffuse*nxdir; 10 | 11 | V = gl_ModelViewMatrix * gl_Vertex; 12 | gl_Position = ftransform(); 13 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/Shaders/measurement1.fpss: -------------------------------------------------------------------------------- 1 | 2 | 3 |
This is a Fringe Projection Simulator Settings File example made by Bart Ribbens
4 | Automatic generated settings file 5 | 23/09/2012 22:31:14 6 | C:\Users\Bart\Dropbox\Paper - Color independent profilometry technique\3D models\Plane_test_grating001.STL 7 | 8 | 9 | 77.64571 10 | 0 11 | 289.7777 12 | 13 | 14 | 0 15 | 0 16 | 0 17 | 18 | 19 | 20000 20 | 20000 21 | 22 | diverging 23 | 24 | 0.2487 25 | 1.333333 26 | 20.0 27 | 0 28 | 29 | 30 | 35.66501 31 | -12.5 32 | 197.4988 33 | 67.8626 34 | 12.5 35 | 188.8715 36 | 37 | 38 | 39 | 40 | 0 41 | 0 42 | 300 43 | 44 | 45 | 0 46 | 0 47 | 0 48 | 49 | 50 | 20000 51 | 20000 52 | 53 | diverging 54 | 55 | 0.3303 56 | 1.333333 57 | 1.0 58 | 405.688793945312 59 | 20 60 | 0 61 | 62 | 63 | -16.6667 64 | -12.5 65 | 200 66 | 16.6667 67 | 12.5 68 | 200 69 | 70 | 71 | 72 | fringe 73 | C:\Users\Bart\Desktop\Measurements\0\ 74 | M001_ 75 | 76 | 3 77 | 10 78 | 79 | 80 | 10 81 | 20 82 | 83 | 84 | 0 85 | 0 86 | 87 | 88 | 89 | 90 |
91 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/3Dmodels/Realtest_R6_smooth.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Debug/3Dmodels/Realtest_R6_smooth.STL -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/3Dmodels/Realtest_R6_smooth_ref.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Debug/3Dmodels/Realtest_R6_smooth_ref.STL -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Artesis_button001.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Debug/Artesis_button001.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Fringe Projection Simulator 2013.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Debug/Fringe Projection Simulator 2013.exe -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Fringe Projection Simulator 2013.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Debug/Fringe Projection Simulator 2013.pdb -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Fringe Projection Simulator 2013.vshost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Debug/Fringe Projection Simulator 2013.vshost.exe -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Fringe Projection Simulator 2013.vshost.exe.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Fringe Projection Simulator 2013.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Fringe Projection Simulator 2013 6 | 7 | 8 | 9 | 10 | 11 | A strongly-typed resource class, for looking up localized strings, etc. 12 | 13 | 14 | 15 | 16 | Returns the cached ResourceManager instance used by this class. 17 | 18 | 19 | 20 | 21 | Overrides the current thread's CurrentUICulture property for all 22 | resource lookups using this strongly typed resource class. 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/MeasurementFiles/measurement_Ball_rev2-02-2013.fpss: -------------------------------------------------------------------------------- 1 | 2 | 3 |
This is a Fringe Projection Simulator Settings File for ACER projector and AVT pike Camera made by Bart Ribbens
4 | This file contains the settings for a single temporal measurements: Situation 1a 5 | 22 October 2013 6 | F:\DOCUMENTS\Onderzoeksprojecten\Software\FPS 2013\VB 2013\Fringe Projection Simulator 2013\Fringe Projection Simulator 2013\bin\Debug\3Dmodels\Realtest_R6_smooth.STL 7 | 8 | 9 | 0.0 10 | 0.0 11 | 50.0 12 | 13 | 14 | 0.0 15 | 0.0 16 | 0.0 17 | 18 | 19 | 20000 20 | 20000 21 | 22 | diverging 23 | 24 | 0.497479623 25 | 1.33333333333333 26 | 60.0 27 | 0.0 28 | 29 | 30 | -5.08 31 | 1.14 32 | 30.0 33 | 5.08 34 | 8.76 35 | 30.0 36 | 37 | 38 | 39 | 40 | 11.64686 41 | 12.375 42 | 43.46666 43 | 44 | 45 | 0.0 46 | 12.375 47 | 0.0 48 | 49 | 50 | 20000 51 | 20000 52 | 53 | Diverging 54 | 55 | 0.442628885 56 | 1.33333333333333 57 | 1 58 | 1000 59 | 60.0 60 | 0.0 61 | 62 | 63 | 3.417905 64 | -3.375 65 | 30.14246 66 | 12.11124 67 | 3.375 68 | 27.81309 69 | 70 | 71 | 72 | fringe 73 | C:\Users\Bart\Desktop\Measurements\Simulations 02-02-2013 ball f5-30 400steps\ 74 | M001_ 75 | 76 | 1 77 | 400 78 | 79 | 80 | 5.0 81 | 30.0 82 | 83 | 84 | 0.0 85 | 0.0 86 | 87 | 88 | 89 | 90 |
-------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/MeasurementFiles/measurement_Ref_rev2-02-2013.fpss: -------------------------------------------------------------------------------- 1 | 2 | 3 |
This is a Fringe Projection Simulator Settings File for ACER projector and AVT pike Camera made by Bart Ribbens
4 | This file contains the settings for a single temporal measurements: Situation 1a 5 | 22 October 2013 6 | F:\DOCUMENTS\Onderzoeksprojecten\Software\FPS 2013\VB 2013\Fringe Projection Simulator 2013\Fringe Projection Simulator 2013\bin\Debug\3Dmodels\Realtest_R6_smooth_ref.STL 7 | 8 | 9 | 0.0 10 | 0.0 11 | 50.0 12 | 13 | 14 | 0.0 15 | 0.0 16 | 0.0 17 | 18 | 19 | 20000 20 | 20000 21 | 22 | diverging 23 | 24 | 0.497479623 25 | 1.33333333333333 26 | 60.0 27 | 0.0 28 | 29 | 30 | -5.08 31 | 1.14 32 | 30.0 33 | 5.08 34 | 8.76 35 | 30.0 36 | 37 | 38 | 39 | 40 | 11.64686 41 | 12.375 42 | 43.46666 43 | 44 | 45 | 0.0 46 | 12.375 47 | 0.0 48 | 49 | 50 | 20000 51 | 20000 52 | 53 | Diverging 54 | 55 | 0.442628885 56 | 1.33333333333333 57 | 1 58 | 1000 59 | 60.0 60 | 0.0 61 | 62 | 63 | 3.417905 64 | -3.375 65 | 30.14246 66 | 12.11124 67 | 3.375 68 | 27.81309 69 | 70 | 71 | 72 | fringe 73 | C:\Users\Bart\Desktop\Measurements\Simulations 02-02-2013 ref f5-30 400steps\ 74 | M001_ 75 | 76 | 1 77 | 400 78 | 79 | 80 | 5.0 81 | 30.0 82 | 83 | 84 | 0.0 85 | 0.0 86 | 87 | 88 | 89 | 90 |
-------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/ModelPath.fdsf: -------------------------------------------------------------------------------- 1 | F:\Onderzoeksprojecten\Github repositories\Fringe Projection Simulator 2013\3Dmodels\ -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/OpenTK.Compatibility.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Debug/OpenTK.Compatibility.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/OpenTK.GLControl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Debug/OpenTK.GLControl.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/OpenTK.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Debug/OpenTK.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Shaders/AllT.txt: -------------------------------------------------------------------------------- 1 | //Calculate width & height along X and Y 2 | gratingwidth = abs(p2x-p1x); 3 | gratingheight = abs(p2y-p1y); 4 | 5 | //If sine wave is needed 6 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 7 | 8 | //---------------------------------------------------------------------------------------------------------------------------------------- 9 | //1. Calculate rico 10 | rico = (tarz-locz)/(tarx-locx); 11 | 12 | //2a. Project tar on ref plane 13 | projtarx = (0.0-locz)/rico+locx; 14 | 15 | //2b. Project fragment value on Z=0 plane 16 | xvalue = (0.0-V.z)/rico+V.x; 17 | 18 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 19 | beta = atan(locz/(projtarx-locx)); 20 | 21 | //3b. Calculate xmin and xmax; 22 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 23 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 24 | 25 | //4. Lookup the colorvalue 26 | //If sine wave is needed 27 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 28 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Shaders/FST.txt: -------------------------------------------------------------------------------- 1 | //FS ALL 2 | //---------------------------------------------------------------------------------------------------------------------------------------- 3 | //Calculate width & height along X and Y 4 | gratingwidth = abs(p2x-p1x); 5 | gratingheight = abs(p2y-p1y); 6 | 7 | //If sine wave is needed 8 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 9 | 10 | //---------------------------------------------------------------------------------------------------------------------------------------- 11 | //1. Calculate rico 12 | rico = (tarz-locz)/(tarx-locx); 13 | 14 | //2a. Project tar on ref plane 15 | projtarx = (0.0-locz)/rico+locx; 16 | 17 | //2b. Project fragment value on Z=0 plane 18 | xvalue = (0.0-V.z)/rico+V.x; 19 | 20 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 21 | beta = atan(locz/(projtarx-locx)); 22 | 23 | //3b. Calculate xmin and xmax; 24 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 25 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 26 | 27 | //4. Lookup the colorvalue 28 | //If sine wave is needed 29 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 30 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Shaders/FS_1a.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | uniform float pi; 5 | uniform float calibration; 6 | uniform float blackout; 7 | 8 | //---------------------------------------------------------------------------------------------------------------------------------------- 9 | // Grating parameters 10 | uniform int blnGratingEnabled; 11 | uniform float gratingfrequency; 12 | uniform float gratingshift; 13 | uniform float p1x; 14 | uniform float p1y; 15 | uniform float p1z; 16 | uniform float p2x; 17 | uniform float p2y; 18 | uniform float p2z; 19 | uniform int pixelgratingwidth; 20 | uniform int pixelgratingheight; 21 | 22 | //---------------------------------------------------------------------------------------------------------------------------------------- 23 | // Projection parameters 24 | uniform float beamerfov; //X direction 25 | uniform float beamerfrequency; 26 | uniform float beamershift; 27 | uniform float tarx; 28 | uniform float tary; 29 | uniform float tarz; 30 | uniform float locx; 31 | uniform float locy; 32 | uniform float locz; 33 | uniform float bp1x; 34 | uniform float bp1z; 35 | uniform float bp2x; 36 | uniform float bp2z; 37 | uniform int pixelbeamerwidth; 38 | uniform int pixelbeamerheight; 39 | //---------------------------------------------------------------------------------------------------------------------------------------- 40 | 41 | void main() 42 | { 43 | float color; 44 | float colormultiplier; 45 | float shadowtest; 46 | //---------------------------------------------------------------------------------------------------------------------------------------- 47 | //Declarations 48 | float alphavalue; 49 | float gratingwidth; 50 | float gratingheight; 51 | vec4 originalcolor; 52 | originalcolor = gl_FrontMaterial.diffuse; 53 | vec4 FragColor; 54 | int i; 55 | float cutoff; 56 | cutoff = 1.0; 57 | 58 | float clrvalue; 59 | float xunknown; 60 | float zunknown; 61 | float c1; 62 | float c2; 63 | float rico1; 64 | float rico2; 65 | 66 | shadowtest = abs(diffuse.x)+abs(diffuse.y)+abs(diffuse.z); 67 | if (shadowtest > 0.0) 68 | { 69 | colormultiplier = 1.0; 70 | } 71 | else 72 | { 73 | colormultiplier = 0.0; 74 | } 75 | 76 | //Calculate width & height along X and Y 77 | gratingwidth = abs(p2x-p1x); 78 | gratingheight = abs(p2y-p1y); 79 | 80 | //If sine wave is needed 81 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 82 | 83 | //---------------------------------------------------------------------------------------------------------------------------------------- 84 | //1. Calculate line of grating 85 | rico1 = (bp2z-bp1z)/(bp2x-bp1x); 86 | c1 = bp2z-rico1*bp2x; 87 | 88 | //2. Calculate target line 89 | rico2 = (V.z-locz)/(V.x-locx); 90 | c2 = V.z-rico2*V.x; 91 | 92 | //3. Calculate intersection 93 | xunknown = (c2-c1)/(rico1-rico2); 94 | zunknown = rico1*xunknown+c1; 95 | 96 | if (xunknown < bp1x) 97 | { 98 | cutoff = 0.0; 99 | } 100 | if (xunknown > bp2x) 101 | { 102 | cutoff = 0.0; 103 | } 104 | 105 | //4. Lookup the colorvalue 106 | //If sine wave is needed 107 | clrvalue = (sin((floor((xunknown-bp1x)/(bp2x-bp1x)*float(pixelbeamerwidth))/float(pixelbeamerwidth))*2.0*pi*beamerfrequency+beamershift)+1)/2; 108 | 109 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 110 | //gl_FragColor = myColor; 111 | //---------------------------------------------------------------------------------------------------------------------------------------- 112 | //Main program 113 | if (originalcolor[1] > 0.5) 114 | { 115 | clrvalue = clrvalue*cutoff*colormultiplier; 116 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 117 | } 118 | else 119 | { 120 | gl_FragColor = vec4(0,0,0,alphavalue); 121 | } 122 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Shaders/FS_1d.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | uniform float pi; 5 | uniform float calibration; 6 | uniform float blackout; 7 | 8 | //---------------------------------------------------------------------------------------------------------------------------------------- 9 | // Grating parameters 10 | uniform int blnGratingEnabled; 11 | uniform float gratingfrequency; 12 | uniform float gratingshift; 13 | uniform float p1x; 14 | uniform float p1y; 15 | uniform float p1z; 16 | uniform float p2x; 17 | uniform float p2y; 18 | uniform float p2z; 19 | uniform int pixelgratingwidth; 20 | uniform int pixelgratingheight; 21 | 22 | //---------------------------------------------------------------------------------------------------------------------------------------- 23 | // Projection parameters 24 | uniform float beamerfov; //X direction 25 | uniform float beamerfrequency; 26 | uniform float beamershift; 27 | uniform float beamerwidth; 28 | uniform float tarx; 29 | uniform float tary; 30 | uniform float tarz; 31 | uniform float locx; 32 | uniform float locy; 33 | uniform float locz; 34 | uniform int pixelbeamerwidth; 35 | uniform int pixelbeamerheight; 36 | //---------------------------------------------------------------------------------------------------------------------------------------- 37 | 38 | void main() 39 | { 40 | float color; 41 | float colormultiplier; 42 | float shadowtest; 43 | //---------------------------------------------------------------------------------------------------------------------------------------- 44 | //Declarations 45 | float alphavalue; 46 | float gratingwidth; 47 | float gratingheight; 48 | vec4 originalcolor; 49 | originalcolor = gl_FrontMaterial.diffuse; 50 | vec4 FragColor; 51 | int i; 52 | float cutoff; 53 | cutoff = 1.0; 54 | 55 | float clrvalue; 56 | float xvalue; 57 | float rico; 58 | float projtarx; 59 | float beta; 60 | float xmin; 61 | float xmax; 62 | 63 | shadowtest = diffuse.x+diffuse.y+diffuse.z; 64 | if (shadowtest > 0.0) 65 | { 66 | colormultiplier = 1.0; 67 | } 68 | else 69 | { 70 | colormultiplier = 1.0; 71 | } 72 | 73 | //---------------------------------------------------------------------------------------------------------------------------------------- 74 | //Calculate width & height along X and Y 75 | gratingwidth = abs(p2x-p1x); 76 | gratingheight = abs(p2y-p1y); 77 | 78 | //If sine wave is needed 79 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 80 | 81 | //---------------------------------------------------------------------------------------------------------------------------------------- 82 | //1. Calculate rico 83 | rico = (tarz-locz)/(tarx-locx); 84 | 85 | //2a. Project tar on ref plane 86 | projtarx = (0.0-locz)/rico+locx; 87 | 88 | //2b. Project fragment value on Z=0 plane 89 | xvalue = (0.0-V.z)/rico+V.x; 90 | 91 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 92 | beta = atan(locz/(projtarx-locx)); 93 | 94 | //3b. Calculate xmin and xmax; 95 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 96 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 97 | 98 | //4. Lookup the colorvalue 99 | //If sine wave is needed 100 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 101 | 102 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 103 | //gl_FragColor = myColor; 104 | //---------------------------------------------------------------------------------------------------------------------------------------- 105 | //Main program 106 | if (originalcolor[1] > 0.5) 107 | { 108 | 109 | //3c. Less than xmin, higher than xmax is cutoff 110 | if (xvalue < xmin) 111 | { 112 | cutoff = 0.0; 113 | } 114 | if (xvalue > xmax) 115 | { 116 | cutoff = 0.0; 117 | } 118 | 119 | clrvalue = clrvalue*cutoff*colormultiplier; 120 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 121 | } 122 | else 123 | { 124 | gl_FragColor = vec4(0,0,0,alphavalue); 125 | } 126 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Shaders/FS_all.glsl: -------------------------------------------------------------------------------- 1 | #version 150 2 | in vec3 V; 3 | in vec4 diffuse; 4 | 5 | out vec4 gl_FragColor; 6 | 7 | struct gl_MaterialParameters 8 | { 9 | vec4 emission; 10 | vec4 ambient; 11 | vec4 diffuse; 12 | vec4 specular; 13 | float shininess; 14 | }; 15 | uniform gl_MaterialParameters gl_FrontMaterial; 16 | uniform gl_MaterialParameters gl_BackMaterial; 17 | 18 | uniform float pi; 19 | uniform float calibration; 20 | uniform float blackout; 21 | uniform int beamerlenstype; 22 | // 0 = diverging 23 | // 1 = telecentric 24 | 25 | //---------------------------------------------------------------------------------------------------------------------------------------- 26 | // Grating parameters 27 | uniform int blnGratingEnabled; 28 | uniform float gratingfrequency; 29 | uniform float gratingshift; 30 | uniform float p1x; 31 | uniform float p1y; 32 | uniform float p1z; 33 | uniform float p2x; 34 | uniform float p2y; 35 | uniform float p2z; 36 | uniform int pixelgratingwidth; 37 | uniform int pixelgratingheight; 38 | 39 | //---------------------------------------------------------------------------------------------------------------------------------------- 40 | // Projection parameters 41 | uniform float beamerfov; //X direction 42 | uniform float beamerfrequency; 43 | uniform float beamershift; 44 | uniform float beamerwidth; 45 | uniform float tarx; 46 | uniform float tary; 47 | uniform float tarz; 48 | uniform float locx; 49 | uniform float locy; 50 | uniform float locz; 51 | uniform float bp1x; 52 | uniform float bp1y; 53 | uniform float bp1z; 54 | uniform float bp2x; 55 | uniform float bp2y; 56 | uniform float bp2z; 57 | uniform int pixelbeamerwidth; 58 | uniform int pixelbeamerheight; 59 | //---------------------------------------------------------------------------------------------------------------------------------------- 60 | 61 | void main() 62 | { 63 | float color; 64 | float colormultiplier; 65 | float shadowtest; 66 | //---------------------------------------------------------------------------------------------------------------------------------------- 67 | //Declarations 68 | float alphavalue; 69 | float gratingwidth; 70 | float gratingheight; 71 | vec4 originalcolor; 72 | originalcolor = gl_FrontMaterial.diffuse; 73 | vec4 FragColor; 74 | int i; 75 | float cutoff; 76 | cutoff = 1.0; 77 | 78 | float clrvalue; 79 | float xvalue; 80 | float rico; 81 | float projtarx; 82 | float beta; 83 | float xmin; 84 | float xmax; 85 | float xunknown; 86 | float yunknown; 87 | float zunknown; 88 | float c1; 89 | float c2; 90 | float rico1; 91 | float rico2; 92 | 93 | vec3 R; 94 | vec3 B; 95 | mat3 A; 96 | 97 | shadowtest = abs(diffuse.x)+abs(diffuse.y)+abs(diffuse.z); 98 | if (shadowtest > 0.0) 99 | { 100 | colormultiplier = 1.0; 101 | } 102 | else 103 | { 104 | colormultiplier = 0.0; 105 | } 106 | 107 | if (beamerlenstype == 0) // DIVERGING LENS 108 | { 109 | //Calculate width & height along X and Y 110 | gratingwidth = abs(p2x-p1x); 111 | gratingheight = abs(p2y-p1y); 112 | 113 | //If sine wave is needed 114 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 115 | 116 | //---------------------------------------------------------------------------------------------------------------------------------------- 117 | //Find intersection between ray and grating to find if the ray passes the grating 118 | //1. Define Matrices 119 | A = mat3( 120 | V.x-locx, V.y-locy, V.z-locz, // first column (not row!) 121 | 0.0, bp2y-bp1y, 0.0, // second column 122 | bp2x-bp1x, bp2y-bp1y, bp2z-bp1z // third column 123 | ); 124 | B = vec3(V.x-bp1x,V.y-bp1y,V.z-bp1z); 125 | 126 | R = inverse(A)*B; 127 | 128 | xunknown = V.x + R[0]*(locx-V.x); 129 | yunknown = V.y + R[0]*(locy-V.y); 130 | 131 | ////1. Calculate line of grating x 132 | //rico1 = (bp2z-bp1z)/(bp2x-bp1x); 133 | //c1 = bp2z-rico1*bp2x; 134 | 135 | ////2. Calculate target line x 136 | //rico2 = (V.z-locz)/(V.x-locx); 137 | //c2 = V.z-rico2*V.x; 138 | 139 | ////3. Calculate intersection x 140 | //xunknown = (c2-c1)/(rico1-rico2); 141 | //zunknown = rico1*xunknown+c1; 142 | 143 | if (xunknown < bp1x) 144 | { 145 | cutoff = 0.0; 146 | } 147 | if (xunknown > bp2x) 148 | { 149 | cutoff = 0.0; 150 | } 151 | if (yunknown < bp1y) 152 | { 153 | cutoff = 0.0; 154 | } 155 | if (yunknown > bp2y) 156 | { 157 | cutoff = 0.0; 158 | } 159 | 160 | //4. Lookup the colorvalue 161 | //If sine wave is needed 162 | clrvalue = (sin((floor((xunknown-bp1x)/(bp2x-bp1x)*float(pixelbeamerwidth))/float(pixelbeamerwidth))*2.0*pi*beamerfrequency+beamershift)+1)/2; 163 | 164 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 165 | //gl_FragColor = myColor; 166 | //---------------------------------------------------------------------------------------------------------------------------------------- 167 | //Main program 168 | if (originalcolor[1] > 0.5) 169 | { 170 | clrvalue = clrvalue*cutoff*colormultiplier; 171 | //gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 172 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 173 | } 174 | else 175 | { 176 | //gl_FragColor = vec4(0,0,0,alphavalue); 177 | gl_FragColor = vec4(0,0,0,alphavalue); 178 | } 179 | } 180 | else //TELECENTRIC LENS 181 | { 182 | //---------------------------------------------------------------------------------------------------------------------------------------- 183 | //Calculate width & height along X and Y 184 | gratingwidth = abs(p2x-p1x); 185 | gratingheight = abs(p2y-p1y); 186 | 187 | //If sine wave is needed 188 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 189 | 190 | //---------------------------------------------------------------------------------------------------------------------------------------- 191 | //1. Calculate rico 192 | rico = (tarz-locz)/(tarx-locx); 193 | 194 | //2a. Project tar on ref plane 195 | projtarx = (0.0-locz)/rico+locx; 196 | 197 | //2b. Project fragment value on Z=0 plane 198 | xvalue = (0.0-V.z)/rico+V.x; 199 | 200 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 201 | beta = atan(locz/(projtarx-locx)); 202 | 203 | //3b. Calculate xmin and xmax; 204 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 205 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 206 | 207 | //4. Lookup the colorvalue 208 | //If sine wave is needed 209 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 210 | 211 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 212 | //gl_FragColor = myColor; 213 | //---------------------------------------------------------------------------------------------------------------------------------------- 214 | //Main program 215 | if (originalcolor[1] > 0.5) 216 | { 217 | 218 | //3c. Less than xmin, higher than xmax is cutoff 219 | if (xvalue < xmin) 220 | { 221 | cutoff = 0.0; 222 | } 223 | if (xvalue > xmax) 224 | { 225 | cutoff = 0.0; 226 | } 227 | 228 | clrvalue = clrvalue*cutoff*colormultiplier*0; 229 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 230 | 231 | } 232 | else 233 | { 234 | //gl_FragColor = vec4(0,0,0,alphavalue); 235 | gl_FragColor = vec4(0.0,1.0,0.0,alphavalue); 236 | } 237 | } 238 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Shaders/FS_all_rev.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | uniform float pi; 5 | uniform float calibration; 6 | uniform float blackout; 7 | uniform int beamerlenstype; 8 | // 0 = diverging 9 | // 1 = telecentric 10 | 11 | //---------------------------------------------------------------------------------------------------------------------------------------- 12 | // Grating parameters 13 | uniform int blnGratingEnabled; 14 | uniform float gratingfrequency; 15 | uniform float gratingshift; 16 | uniform float p1x; 17 | uniform float p1y; 18 | uniform float p1z; 19 | uniform float p2x; 20 | uniform float p2y; 21 | uniform float p2z; 22 | uniform int pixelgratingwidth; 23 | uniform int pixelgratingheight; 24 | 25 | //---------------------------------------------------------------------------------------------------------------------------------------- 26 | // Projection parameters 27 | uniform float beamerfov; //X direction 28 | uniform float beamerfrequency; 29 | uniform float beamershift; 30 | uniform float beamerwidth; 31 | uniform float tarx; 32 | uniform float tary; 33 | uniform float tarz; 34 | uniform float locx; 35 | uniform float locy; 36 | uniform float locz; 37 | uniform float bp1x; 38 | uniform float bp1z; 39 | uniform float bp2x; 40 | uniform float bp2z; 41 | uniform int pixelbeamerwidth; 42 | uniform int pixelbeamerheight; 43 | //---------------------------------------------------------------------------------------------------------------------------------------- 44 | 45 | void main() 46 | { 47 | float color; 48 | float colormultiplier; 49 | float shadowtest; 50 | //---------------------------------------------------------------------------------------------------------------------------------------- 51 | //Declarations 52 | float alphavalue; 53 | float gratingwidth; 54 | float gratingheight; 55 | vec4 originalcolor; 56 | originalcolor = gl_FrontMaterial.diffuse; 57 | vec4 FragColor; 58 | int i; 59 | float cutoff; 60 | cutoff = 1.0; 61 | 62 | float clrvalue; 63 | float xvalue; 64 | float rico; 65 | float projtarx; 66 | float beta; 67 | float xmin; 68 | float xmax; 69 | float xunknown; 70 | float zunknown; 71 | float c1; 72 | float c2; 73 | float rico1; 74 | float rico2; 75 | 76 | shadowtest = abs(diffuse.x)+abs(diffuse.y)+abs(diffuse.z); 77 | if (shadowtest > 0.0) 78 | { 79 | colormultiplier = 1.0; 80 | } 81 | else 82 | { 83 | colormultiplier = 0.0; 84 | } 85 | 86 | if (beamerlenstype == 0) 87 | { 88 | //Calculate width & height along X and Y 89 | gratingwidth = abs(p2x-p1x); 90 | gratingheight = abs(p2y-p1y); 91 | 92 | //If sine wave is needed 93 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 94 | 95 | //---------------------------------------------------------------------------------------------------------------------------------------- 96 | //1. Calculate line of grating 97 | rico1 = (bp2z-bp1z)/(bp2x-bp1x); 98 | c1 = bp2z-rico1*bp2x; 99 | 100 | //2. Calculate target line 101 | rico2 = (V.z-locz)/(V.x-locx); 102 | c2 = V.z-rico2*V.x; 103 | 104 | //3. Calculate intersection 105 | xunknown = (c2-c1)/(rico1-rico2); 106 | zunknown = rico1*xunknown+c1; 107 | 108 | if (xunknown < bp1x) 109 | { 110 | cutoff = 0.0; 111 | } 112 | if (xunknown > bp2x) 113 | { 114 | cutoff = 0.0; 115 | } 116 | 117 | //4. Lookup the colorvalue 118 | //If sine wave is needed 119 | clrvalue = (sin((floor((xunknown-bp1x)/(bp2x-bp1x)*float(pixelbeamerwidth))/float(pixelbeamerwidth))*2.0*pi*beamerfrequency+beamershift)+1)/2; 120 | 121 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 122 | //gl_FragColor = myColor; 123 | //---------------------------------------------------------------------------------------------------------------------------------------- 124 | //Main program 125 | if (originalcolor[1] > 0.5) 126 | { 127 | clrvalue = clrvalue*cutoff*colormultiplier; 128 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 129 | } 130 | else 131 | { 132 | gl_FragColor = vec4(0,0,0,alphavalue); 133 | } 134 | } 135 | else //TELECENTRIC LENS 136 | { 137 | //---------------------------------------------------------------------------------------------------------------------------------------- 138 | //Calculate width & height along X and Y 139 | gratingwidth = abs(p2x-p1x); 140 | gratingheight = abs(p2y-p1y); 141 | 142 | //If sine wave is needed 143 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 144 | 145 | //---------------------------------------------------------------------------------------------------------------------------------------- 146 | //1. Calculate rico 147 | rico = (tarz-locz)/(tarx-locx); 148 | 149 | //2a. Project tar on ref plane 150 | projtarx = (0.0-locz)/rico+locx; 151 | 152 | //2b. Project fragment value on Z=0 plane 153 | xvalue = (0.0-V.z)/rico+V.x; 154 | 155 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 156 | beta = atan(locz/(projtarx-locx)); 157 | 158 | //3b. Calculate xmin and xmax; 159 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 160 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 161 | 162 | //4. Lookup the colorvalue 163 | //If sine wave is needed 164 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 165 | 166 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 167 | //gl_FragColor = myColor; 168 | //---------------------------------------------------------------------------------------------------------------------------------------- 169 | //Main program 170 | if (originalcolor[1] > 0.5) 171 | { 172 | 173 | //3c. Less than xmin, higher than xmax is cutoff 174 | if (xvalue < xmin) 175 | { 176 | cutoff = 0.0; 177 | } 178 | if (xvalue > xmax) 179 | { 180 | cutoff = 0.0; 181 | } 182 | 183 | clrvalue = clrvalue*cutoff*colormultiplier; 184 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 185 | } 186 | else 187 | { 188 | gl_FragColor = vec4(0,0,0,alphavalue); 189 | } 190 | } 191 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Shaders/FS_all_v22-09-2012.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | uniform float pi; 5 | uniform float calibration; 6 | uniform float blackout; 7 | uniform int beamerlenstype; 8 | // 0 = diverging 9 | // 1 = telecentric 10 | 11 | //---------------------------------------------------------------------------------------------------------------------------------------- 12 | // Grating parameters 13 | uniform int blnGratingEnabled; 14 | uniform float gratingfrequency; 15 | uniform float gratingshift; 16 | uniform float p1x; 17 | uniform float p1y; 18 | uniform float p1z; 19 | uniform float p2x; 20 | uniform float p2y; 21 | uniform float p2z; 22 | uniform int pixelgratingwidth; 23 | uniform int pixelgratingheight; 24 | 25 | //---------------------------------------------------------------------------------------------------------------------------------------- 26 | // Projection parameters 27 | uniform float beamerfov; //X direction 28 | uniform float beamerfrequency; 29 | uniform float beamershift; 30 | uniform float beamerwidth; 31 | uniform float tarx; 32 | uniform float tary; 33 | uniform float tarz; 34 | uniform float locx; 35 | uniform float locy; 36 | uniform float locz; 37 | uniform float bp1x; 38 | uniform float bp1y; 39 | uniform float bp1z; 40 | uniform float bp2x; 41 | uniform float bp2y; 42 | uniform float bp2z; 43 | uniform int pixelbeamerwidth; 44 | uniform int pixelbeamerheight; 45 | //---------------------------------------------------------------------------------------------------------------------------------------- 46 | 47 | void main() 48 | { 49 | float color; 50 | float colormultiplier; 51 | float shadowtest; 52 | //---------------------------------------------------------------------------------------------------------------------------------------- 53 | //Declarations 54 | float alphavalue; 55 | float gratingwidth; 56 | float gratingheight; 57 | vec4 originalcolor; 58 | originalcolor = gl_FrontMaterial.diffuse; 59 | vec4 FragColor; 60 | int i; 61 | float cutoff; 62 | cutoff = 1.0; 63 | 64 | float clrvalue; 65 | float xvalue; 66 | float rico; 67 | float projtarx; 68 | float beta; 69 | float xmin; 70 | float xmax; 71 | float xunknown; 72 | float zunknown; 73 | float c1; 74 | float c2; 75 | float rico1; 76 | float rico2; 77 | 78 | shadowtest = abs(diffuse.x)+abs(diffuse.y)+abs(diffuse.z); 79 | if (shadowtest > 0.0) 80 | { 81 | colormultiplier = 1.0; 82 | } 83 | else 84 | { 85 | colormultiplier = 0.0; 86 | } 87 | 88 | if (beamerlenstype == 0) 89 | { 90 | //Calculate width & height along X and Y 91 | gratingwidth = abs(p2x-p1x); 92 | gratingheight = abs(p2y-p1y); 93 | 94 | //If sine wave is needed 95 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 96 | 97 | //---------------------------------------------------------------------------------------------------------------------------------------- 98 | //1. Calculate line of grating x 99 | rico1 = (bp2z-bp1z)/(bp2x-bp1x); 100 | c1 = bp2z-rico1*bp2x; 101 | 102 | //2. Calculate target line x 103 | rico2 = (V.z-locz)/(V.x-locx); 104 | c2 = V.z-rico2*V.x; 105 | 106 | //3. Calculate intersection x 107 | xunknown = (c2-c1)/(rico1-rico2); 108 | zunknown = rico1*xunknown+c1; 109 | 110 | if (xunknown < bp1x) 111 | { 112 | cutoff = 0.0; 113 | } 114 | if (xunknown > bp2x) 115 | { 116 | cutoff = 0.0; 117 | } 118 | 119 | //4. Lookup the colorvalue 120 | //If sine wave is needed 121 | clrvalue = (sin((floor((xunknown-bp1x)/(bp2x-bp1x)*float(pixelbeamerwidth))/float(pixelbeamerwidth))*2.0*pi*beamerfrequency+beamershift)+1)/2; 122 | 123 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 124 | //gl_FragColor = myColor; 125 | //---------------------------------------------------------------------------------------------------------------------------------------- 126 | //Main program 127 | if (originalcolor[1] > 0.5) 128 | { 129 | clrvalue = clrvalue*cutoff*colormultiplier; 130 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 131 | } 132 | else 133 | { 134 | gl_FragColor = vec4(0,0,0,alphavalue); 135 | } 136 | } 137 | else //TELECENTRIC LENS 138 | { 139 | //---------------------------------------------------------------------------------------------------------------------------------------- 140 | //Calculate width & height along X and Y 141 | gratingwidth = abs(p2x-p1x); 142 | gratingheight = abs(p2y-p1y); 143 | 144 | //If sine wave is needed 145 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 146 | 147 | //---------------------------------------------------------------------------------------------------------------------------------------- 148 | //1. Calculate rico 149 | rico = (tarz-locz)/(tarx-locx); 150 | 151 | //2a. Project tar on ref plane 152 | projtarx = (0.0-locz)/rico+locx; 153 | 154 | //2b. Project fragment value on Z=0 plane 155 | xvalue = (0.0-V.z)/rico+V.x; 156 | 157 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 158 | beta = atan(locz/(projtarx-locx)); 159 | 160 | //3b. Calculate xmin and xmax; 161 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 162 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 163 | 164 | //4. Lookup the colorvalue 165 | //If sine wave is needed 166 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 167 | 168 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 169 | //gl_FragColor = myColor; 170 | //---------------------------------------------------------------------------------------------------------------------------------------- 171 | //Main program 172 | if (originalcolor[1] > 0.5) 173 | { 174 | 175 | //3c. Less than xmin, higher than xmax is cutoff 176 | if (xvalue < xmin) 177 | { 178 | cutoff = 0.0; 179 | } 180 | if (xvalue > xmax) 181 | { 182 | cutoff = 0.0; 183 | } 184 | 185 | clrvalue = clrvalue*cutoff*colormultiplier; 186 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 187 | } 188 | else 189 | { 190 | gl_FragColor = vec4(0,0,0,alphavalue); 191 | } 192 | } 193 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Shaders/VS_all.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | void main() 5 | { 6 | vec3 normal = gl_Normal; 7 | vec3 lightvector = normalize(gl_LightSource[0].position.xyz); 8 | float nxdir = max(0.0,dot(normal,lightvector)); 9 | diffuse = gl_LightSource[0].diffuse*nxdir; 10 | 11 | V = gl_ModelViewMatrix * gl_Vertex; 12 | gl_Position = ftransform(); 13 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Shaders/measurement1.fpss: -------------------------------------------------------------------------------- 1 | 2 | 3 |
This is a Fringe Projection Simulator Settings File example made by Bart Ribbens
4 | Automatic generated settings file 5 | 23/09/2012 22:31:14 6 | C:\Users\Bart\Dropbox\Paper - Color independent profilometry technique\3D models\Plane_test_grating001.STL 7 | 8 | 9 | 77.64571 10 | 0 11 | 289.7777 12 | 13 | 14 | 0 15 | 0 16 | 0 17 | 18 | 19 | 20000 20 | 20000 21 | 22 | diverging 23 | 24 | 0.2487 25 | 1.333333 26 | 20.0 27 | 0 28 | 29 | 30 | 35.66501 31 | -12.5 32 | 197.4988 33 | 67.8626 34 | 12.5 35 | 188.8715 36 | 37 | 38 | 39 | 40 | 0 41 | 0 42 | 300 43 | 44 | 45 | 0 46 | 0 47 | 0 48 | 49 | 50 | 20000 51 | 20000 52 | 53 | diverging 54 | 55 | 0.3303 56 | 1.333333 57 | 1.0 58 | 405.688793945312 59 | 20 60 | 0 61 | 62 | 63 | -16.6667 64 | -12.5 65 | 200 66 | 16.6667 67 | 12.5 68 | 200 69 | 70 | 71 | 72 | fringe 73 | C:\Users\Bart\Desktop\Measurements\0\ 74 | M001_ 75 | 76 | 3 77 | 10 78 | 79 | 80 | 10 81 | 20 82 | 83 | 84 | 0 85 | 0 86 | 87 | 88 | 89 | 90 |
91 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/Tao.FreeGlut.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Debug/Tao.FreeGlut.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Debug/freeglut.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Debug/freeglut.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/3Dmodels/Realtest_R6_smooth.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Release/3Dmodels/Realtest_R6_smooth.STL -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/3Dmodels/Realtest_R6_smooth_ref.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Release/3Dmodels/Realtest_R6_smooth_ref.STL -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Artesis_button001.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Release/Artesis_button001.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Fringe Projection Simulator 2013.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Release/Fringe Projection Simulator 2013.exe -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Fringe Projection Simulator 2013.vshost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Release/Fringe Projection Simulator 2013.vshost.exe -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Fringe Projection Simulator 2013.vshost.exe.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Fringe Projection Simulator 2013.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Fringe Projection Simulator 2013 6 | 7 | 8 | 9 | 10 | 11 | A strongly-typed resource class, for looking up localized strings, etc. 12 | 13 | 14 | 15 | 16 | Returns the cached ResourceManager instance used by this class. 17 | 18 | 19 | 20 | 21 | Overrides the current thread's CurrentUICulture property for all 22 | resource lookups using this strongly typed resource class. 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/MeasurementFiles/measurement_Ball_rev2-02-2013.fpss: -------------------------------------------------------------------------------- 1 | 2 | 3 |
This is a Fringe Projection Simulator Settings File for ACER projector and AVT pike Camera made by Bart Ribbens
4 | This file contains the settings for a single temporal measurements: Situation 1a 5 | 22 October 2013 6 | F:\DOCUMENTS\Onderzoeksprojecten\Software\FPS 2013\VB 2013\Fringe Projection Simulator 2013\Fringe Projection Simulator 2013\bin\Debug\3Dmodels\Realtest_R6_smooth.STL 7 | 8 | 9 | 0.0 10 | 0.0 11 | 50.0 12 | 13 | 14 | 0.0 15 | 0.0 16 | 0.0 17 | 18 | 19 | 20000 20 | 20000 21 | 22 | diverging 23 | 24 | 0.497479623 25 | 1.33333333333333 26 | 60.0 27 | 0.0 28 | 29 | 30 | -5.08 31 | 1.14 32 | 30.0 33 | 5.08 34 | 8.76 35 | 30.0 36 | 37 | 38 | 39 | 40 | 11.64686 41 | 12.375 42 | 43.46666 43 | 44 | 45 | 0.0 46 | 12.375 47 | 0.0 48 | 49 | 50 | 20000 51 | 20000 52 | 53 | Diverging 54 | 55 | 0.442628885 56 | 1.33333333333333 57 | 1 58 | 1000 59 | 60.0 60 | 0.0 61 | 62 | 63 | 3.417905 64 | -3.375 65 | 30.14246 66 | 12.11124 67 | 3.375 68 | 27.81309 69 | 70 | 71 | 72 | fringe 73 | C:\Users\Bart\Desktop\Measurements\Simulations 02-02-2013 ball f5-30 400steps\ 74 | M001_ 75 | 76 | 1 77 | 400 78 | 79 | 80 | 5.0 81 | 30.0 82 | 83 | 84 | 0.0 85 | 0.0 86 | 87 | 88 | 89 | 90 |
-------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/MeasurementFiles/measurement_Ref_rev2-02-2013.fpss: -------------------------------------------------------------------------------- 1 | 2 | 3 |
This is a Fringe Projection Simulator Settings File for ACER projector and AVT pike Camera made by Bart Ribbens
4 | This file contains the settings for a single temporal measurements: Situation 1a 5 | 22 October 2013 6 | F:\DOCUMENTS\Onderzoeksprojecten\Software\FPS 2013\VB 2013\Fringe Projection Simulator 2013\Fringe Projection Simulator 2013\bin\Debug\3Dmodels\Realtest_R6_smooth_ref.STL 7 | 8 | 9 | 0.0 10 | 0.0 11 | 50.0 12 | 13 | 14 | 0.0 15 | 0.0 16 | 0.0 17 | 18 | 19 | 20000 20 | 20000 21 | 22 | diverging 23 | 24 | 0.497479623 25 | 1.33333333333333 26 | 60.0 27 | 0.0 28 | 29 | 30 | -5.08 31 | 1.14 32 | 30.0 33 | 5.08 34 | 8.76 35 | 30.0 36 | 37 | 38 | 39 | 40 | 11.64686 41 | 12.375 42 | 43.46666 43 | 44 | 45 | 0.0 46 | 12.375 47 | 0.0 48 | 49 | 50 | 20000 51 | 20000 52 | 53 | Diverging 54 | 55 | 0.442628885 56 | 1.33333333333333 57 | 1 58 | 1000 59 | 60.0 60 | 0.0 61 | 62 | 63 | 3.417905 64 | -3.375 65 | 30.14246 66 | 12.11124 67 | 3.375 68 | 27.81309 69 | 70 | 71 | 72 | fringe 73 | C:\Users\Bart\Desktop\Measurements\Simulations 02-02-2013 ref f5-30 400steps\ 74 | M001_ 75 | 76 | 1 77 | 400 78 | 79 | 80 | 5.0 81 | 30.0 82 | 83 | 84 | 0.0 85 | 0.0 86 | 87 | 88 | 89 | 90 |
-------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/OpenTK.Compatibility.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Release/OpenTK.Compatibility.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/OpenTK.GLControl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Release/OpenTK.GLControl.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/OpenTK.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Release/OpenTK.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Shaders/AllT.txt: -------------------------------------------------------------------------------- 1 | //Calculate width & height along X and Y 2 | gratingwidth = abs(p2x-p1x); 3 | gratingheight = abs(p2y-p1y); 4 | 5 | //If sine wave is needed 6 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 7 | 8 | //---------------------------------------------------------------------------------------------------------------------------------------- 9 | //1. Calculate rico 10 | rico = (tarz-locz)/(tarx-locx); 11 | 12 | //2a. Project tar on ref plane 13 | projtarx = (0.0-locz)/rico+locx; 14 | 15 | //2b. Project fragment value on Z=0 plane 16 | xvalue = (0.0-V.z)/rico+V.x; 17 | 18 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 19 | beta = atan(locz/(projtarx-locx)); 20 | 21 | //3b. Calculate xmin and xmax; 22 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 23 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 24 | 25 | //4. Lookup the colorvalue 26 | //If sine wave is needed 27 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 28 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Shaders/FST.txt: -------------------------------------------------------------------------------- 1 | //FS ALL 2 | //---------------------------------------------------------------------------------------------------------------------------------------- 3 | //Calculate width & height along X and Y 4 | gratingwidth = abs(p2x-p1x); 5 | gratingheight = abs(p2y-p1y); 6 | 7 | //If sine wave is needed 8 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 9 | 10 | //---------------------------------------------------------------------------------------------------------------------------------------- 11 | //1. Calculate rico 12 | rico = (tarz-locz)/(tarx-locx); 13 | 14 | //2a. Project tar on ref plane 15 | projtarx = (0.0-locz)/rico+locx; 16 | 17 | //2b. Project fragment value on Z=0 plane 18 | xvalue = (0.0-V.z)/rico+V.x; 19 | 20 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 21 | beta = atan(locz/(projtarx-locx)); 22 | 23 | //3b. Calculate xmin and xmax; 24 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 25 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 26 | 27 | //4. Lookup the colorvalue 28 | //If sine wave is needed 29 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 30 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Shaders/FS_1a.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | uniform float pi; 5 | uniform float calibration; 6 | uniform float blackout; 7 | 8 | //---------------------------------------------------------------------------------------------------------------------------------------- 9 | // Grating parameters 10 | uniform int blnGratingEnabled; 11 | uniform float gratingfrequency; 12 | uniform float gratingshift; 13 | uniform float p1x; 14 | uniform float p1y; 15 | uniform float p1z; 16 | uniform float p2x; 17 | uniform float p2y; 18 | uniform float p2z; 19 | uniform int pixelgratingwidth; 20 | uniform int pixelgratingheight; 21 | 22 | //---------------------------------------------------------------------------------------------------------------------------------------- 23 | // Projection parameters 24 | uniform float beamerfov; //X direction 25 | uniform float beamerfrequency; 26 | uniform float beamershift; 27 | uniform float tarx; 28 | uniform float tary; 29 | uniform float tarz; 30 | uniform float locx; 31 | uniform float locy; 32 | uniform float locz; 33 | uniform float bp1x; 34 | uniform float bp1z; 35 | uniform float bp2x; 36 | uniform float bp2z; 37 | uniform int pixelbeamerwidth; 38 | uniform int pixelbeamerheight; 39 | //---------------------------------------------------------------------------------------------------------------------------------------- 40 | 41 | void main() 42 | { 43 | float color; 44 | float colormultiplier; 45 | float shadowtest; 46 | //---------------------------------------------------------------------------------------------------------------------------------------- 47 | //Declarations 48 | float alphavalue; 49 | float gratingwidth; 50 | float gratingheight; 51 | vec4 originalcolor; 52 | originalcolor = gl_FrontMaterial.diffuse; 53 | vec4 FragColor; 54 | int i; 55 | float cutoff; 56 | cutoff = 1.0; 57 | 58 | float clrvalue; 59 | float xunknown; 60 | float zunknown; 61 | float c1; 62 | float c2; 63 | float rico1; 64 | float rico2; 65 | 66 | shadowtest = abs(diffuse.x)+abs(diffuse.y)+abs(diffuse.z); 67 | if (shadowtest > 0.0) 68 | { 69 | colormultiplier = 1.0; 70 | } 71 | else 72 | { 73 | colormultiplier = 0.0; 74 | } 75 | 76 | //Calculate width & height along X and Y 77 | gratingwidth = abs(p2x-p1x); 78 | gratingheight = abs(p2y-p1y); 79 | 80 | //If sine wave is needed 81 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 82 | 83 | //---------------------------------------------------------------------------------------------------------------------------------------- 84 | //1. Calculate line of grating 85 | rico1 = (bp2z-bp1z)/(bp2x-bp1x); 86 | c1 = bp2z-rico1*bp2x; 87 | 88 | //2. Calculate target line 89 | rico2 = (V.z-locz)/(V.x-locx); 90 | c2 = V.z-rico2*V.x; 91 | 92 | //3. Calculate intersection 93 | xunknown = (c2-c1)/(rico1-rico2); 94 | zunknown = rico1*xunknown+c1; 95 | 96 | if (xunknown < bp1x) 97 | { 98 | cutoff = 0.0; 99 | } 100 | if (xunknown > bp2x) 101 | { 102 | cutoff = 0.0; 103 | } 104 | 105 | //4. Lookup the colorvalue 106 | //If sine wave is needed 107 | clrvalue = (sin((floor((xunknown-bp1x)/(bp2x-bp1x)*float(pixelbeamerwidth))/float(pixelbeamerwidth))*2.0*pi*beamerfrequency+beamershift)+1)/2; 108 | 109 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 110 | //gl_FragColor = myColor; 111 | //---------------------------------------------------------------------------------------------------------------------------------------- 112 | //Main program 113 | if (originalcolor[1] > 0.5) 114 | { 115 | clrvalue = clrvalue*cutoff*colormultiplier; 116 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 117 | } 118 | else 119 | { 120 | gl_FragColor = vec4(0,0,0,alphavalue); 121 | } 122 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Shaders/FS_1d.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | uniform float pi; 5 | uniform float calibration; 6 | uniform float blackout; 7 | 8 | //---------------------------------------------------------------------------------------------------------------------------------------- 9 | // Grating parameters 10 | uniform int blnGratingEnabled; 11 | uniform float gratingfrequency; 12 | uniform float gratingshift; 13 | uniform float p1x; 14 | uniform float p1y; 15 | uniform float p1z; 16 | uniform float p2x; 17 | uniform float p2y; 18 | uniform float p2z; 19 | uniform int pixelgratingwidth; 20 | uniform int pixelgratingheight; 21 | 22 | //---------------------------------------------------------------------------------------------------------------------------------------- 23 | // Projection parameters 24 | uniform float beamerfov; //X direction 25 | uniform float beamerfrequency; 26 | uniform float beamershift; 27 | uniform float beamerwidth; 28 | uniform float tarx; 29 | uniform float tary; 30 | uniform float tarz; 31 | uniform float locx; 32 | uniform float locy; 33 | uniform float locz; 34 | uniform int pixelbeamerwidth; 35 | uniform int pixelbeamerheight; 36 | //---------------------------------------------------------------------------------------------------------------------------------------- 37 | 38 | void main() 39 | { 40 | float color; 41 | float colormultiplier; 42 | float shadowtest; 43 | //---------------------------------------------------------------------------------------------------------------------------------------- 44 | //Declarations 45 | float alphavalue; 46 | float gratingwidth; 47 | float gratingheight; 48 | vec4 originalcolor; 49 | originalcolor = gl_FrontMaterial.diffuse; 50 | vec4 FragColor; 51 | int i; 52 | float cutoff; 53 | cutoff = 1.0; 54 | 55 | float clrvalue; 56 | float xvalue; 57 | float rico; 58 | float projtarx; 59 | float beta; 60 | float xmin; 61 | float xmax; 62 | 63 | shadowtest = diffuse.x+diffuse.y+diffuse.z; 64 | if (shadowtest > 0.0) 65 | { 66 | colormultiplier = 1.0; 67 | } 68 | else 69 | { 70 | colormultiplier = 1.0; 71 | } 72 | 73 | //---------------------------------------------------------------------------------------------------------------------------------------- 74 | //Calculate width & height along X and Y 75 | gratingwidth = abs(p2x-p1x); 76 | gratingheight = abs(p2y-p1y); 77 | 78 | //If sine wave is needed 79 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 80 | 81 | //---------------------------------------------------------------------------------------------------------------------------------------- 82 | //1. Calculate rico 83 | rico = (tarz-locz)/(tarx-locx); 84 | 85 | //2a. Project tar on ref plane 86 | projtarx = (0.0-locz)/rico+locx; 87 | 88 | //2b. Project fragment value on Z=0 plane 89 | xvalue = (0.0-V.z)/rico+V.x; 90 | 91 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 92 | beta = atan(locz/(projtarx-locx)); 93 | 94 | //3b. Calculate xmin and xmax; 95 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 96 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 97 | 98 | //4. Lookup the colorvalue 99 | //If sine wave is needed 100 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 101 | 102 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 103 | //gl_FragColor = myColor; 104 | //---------------------------------------------------------------------------------------------------------------------------------------- 105 | //Main program 106 | if (originalcolor[1] > 0.5) 107 | { 108 | 109 | //3c. Less than xmin, higher than xmax is cutoff 110 | if (xvalue < xmin) 111 | { 112 | cutoff = 0.0; 113 | } 114 | if (xvalue > xmax) 115 | { 116 | cutoff = 0.0; 117 | } 118 | 119 | clrvalue = clrvalue*cutoff*colormultiplier; 120 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 121 | } 122 | else 123 | { 124 | gl_FragColor = vec4(0,0,0,alphavalue); 125 | } 126 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Shaders/FS_all.glsl: -------------------------------------------------------------------------------- 1 | #version 150 2 | in vec3 V; 3 | in vec4 diffuse; 4 | 5 | out vec4 gl_FragColor; 6 | 7 | struct gl_MaterialParameters 8 | { 9 | vec4 emission; 10 | vec4 ambient; 11 | vec4 diffuse; 12 | vec4 specular; 13 | float shininess; 14 | }; 15 | uniform gl_MaterialParameters gl_FrontMaterial; 16 | uniform gl_MaterialParameters gl_BackMaterial; 17 | 18 | uniform float pi; 19 | uniform float calibration; 20 | uniform float blackout; 21 | uniform int beamerlenstype; 22 | // 0 = diverging 23 | // 1 = telecentric 24 | 25 | //---------------------------------------------------------------------------------------------------------------------------------------- 26 | // Grating parameters 27 | uniform int blnGratingEnabled; 28 | uniform float gratingfrequency; 29 | uniform float gratingshift; 30 | uniform float p1x; 31 | uniform float p1y; 32 | uniform float p1z; 33 | uniform float p2x; 34 | uniform float p2y; 35 | uniform float p2z; 36 | uniform int pixelgratingwidth; 37 | uniform int pixelgratingheight; 38 | 39 | //---------------------------------------------------------------------------------------------------------------------------------------- 40 | // Projection parameters 41 | uniform float beamerfov; //X direction 42 | uniform float beamerfrequency; 43 | uniform float beamershift; 44 | uniform float beamerwidth; 45 | uniform float tarx; 46 | uniform float tary; 47 | uniform float tarz; 48 | uniform float locx; 49 | uniform float locy; 50 | uniform float locz; 51 | uniform float bp1x; 52 | uniform float bp1y; 53 | uniform float bp1z; 54 | uniform float bp2x; 55 | uniform float bp2y; 56 | uniform float bp2z; 57 | uniform int pixelbeamerwidth; 58 | uniform int pixelbeamerheight; 59 | //---------------------------------------------------------------------------------------------------------------------------------------- 60 | 61 | void main() 62 | { 63 | float color; 64 | float colormultiplier; 65 | float shadowtest; 66 | //---------------------------------------------------------------------------------------------------------------------------------------- 67 | //Declarations 68 | float alphavalue; 69 | float gratingwidth; 70 | float gratingheight; 71 | vec4 originalcolor; 72 | originalcolor = gl_FrontMaterial.diffuse; 73 | vec4 FragColor; 74 | int i; 75 | float cutoff; 76 | cutoff = 1.0; 77 | 78 | float clrvalue; 79 | float xvalue; 80 | float rico; 81 | float projtarx; 82 | float beta; 83 | float xmin; 84 | float xmax; 85 | float xunknown; 86 | float yunknown; 87 | float zunknown; 88 | float c1; 89 | float c2; 90 | float rico1; 91 | float rico2; 92 | 93 | vec3 R; 94 | vec3 B; 95 | mat3 A; 96 | 97 | shadowtest = abs(diffuse.x)+abs(diffuse.y)+abs(diffuse.z); 98 | if (shadowtest > 0.0) 99 | { 100 | colormultiplier = 1.0; 101 | } 102 | else 103 | { 104 | colormultiplier = 0.0; 105 | } 106 | 107 | if (beamerlenstype == 0) // DIVERGING LENS 108 | { 109 | //Calculate width & height along X and Y 110 | gratingwidth = abs(p2x-p1x); 111 | gratingheight = abs(p2y-p1y); 112 | 113 | //If sine wave is needed 114 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 115 | 116 | //---------------------------------------------------------------------------------------------------------------------------------------- 117 | //Find intersection between ray and grating to find if the ray passes the grating 118 | //1. Define Matrices 119 | A = mat3( 120 | V.x-locx, V.y-locy, V.z-locz, // first column (not row!) 121 | 0.0, bp2y-bp1y, 0.0, // second column 122 | bp2x-bp1x, bp2y-bp1y, bp2z-bp1z // third column 123 | ); 124 | B = vec3(V.x-bp1x,V.y-bp1y,V.z-bp1z); 125 | 126 | R = inverse(A)*B; 127 | 128 | xunknown = V.x + R[0]*(locx-V.x); 129 | yunknown = V.y + R[0]*(locy-V.y); 130 | 131 | ////1. Calculate line of grating x 132 | //rico1 = (bp2z-bp1z)/(bp2x-bp1x); 133 | //c1 = bp2z-rico1*bp2x; 134 | 135 | ////2. Calculate target line x 136 | //rico2 = (V.z-locz)/(V.x-locx); 137 | //c2 = V.z-rico2*V.x; 138 | 139 | ////3. Calculate intersection x 140 | //xunknown = (c2-c1)/(rico1-rico2); 141 | //zunknown = rico1*xunknown+c1; 142 | 143 | if (xunknown < bp1x) 144 | { 145 | cutoff = 0.0; 146 | } 147 | if (xunknown > bp2x) 148 | { 149 | cutoff = 0.0; 150 | } 151 | if (yunknown < bp1y) 152 | { 153 | cutoff = 0.0; 154 | } 155 | if (yunknown > bp2y) 156 | { 157 | cutoff = 0.0; 158 | } 159 | 160 | //4. Lookup the colorvalue 161 | //If sine wave is needed 162 | clrvalue = (sin((floor((xunknown-bp1x)/(bp2x-bp1x)*float(pixelbeamerwidth))/float(pixelbeamerwidth))*2.0*pi*beamerfrequency+beamershift)+1)/2; 163 | 164 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 165 | //gl_FragColor = myColor; 166 | //---------------------------------------------------------------------------------------------------------------------------------------- 167 | //Main program 168 | if (originalcolor[1] > 0.5) 169 | { 170 | clrvalue = clrvalue*cutoff*colormultiplier; 171 | //gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 172 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 173 | } 174 | else 175 | { 176 | //gl_FragColor = vec4(0,0,0,alphavalue); 177 | gl_FragColor = vec4(0,0,0,alphavalue); 178 | } 179 | } 180 | else //TELECENTRIC LENS 181 | { 182 | //---------------------------------------------------------------------------------------------------------------------------------------- 183 | //Calculate width & height along X and Y 184 | gratingwidth = abs(p2x-p1x); 185 | gratingheight = abs(p2y-p1y); 186 | 187 | //If sine wave is needed 188 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 189 | 190 | //---------------------------------------------------------------------------------------------------------------------------------------- 191 | //1. Calculate rico 192 | rico = (tarz-locz)/(tarx-locx); 193 | 194 | //2a. Project tar on ref plane 195 | projtarx = (0.0-locz)/rico+locx; 196 | 197 | //2b. Project fragment value on Z=0 plane 198 | xvalue = (0.0-V.z)/rico+V.x; 199 | 200 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 201 | beta = atan(locz/(projtarx-locx)); 202 | 203 | //3b. Calculate xmin and xmax; 204 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 205 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 206 | 207 | //4. Lookup the colorvalue 208 | //If sine wave is needed 209 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 210 | 211 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 212 | //gl_FragColor = myColor; 213 | //---------------------------------------------------------------------------------------------------------------------------------------- 214 | //Main program 215 | if (originalcolor[1] > 0.5) 216 | { 217 | 218 | //3c. Less than xmin, higher than xmax is cutoff 219 | if (xvalue < xmin) 220 | { 221 | cutoff = 0.0; 222 | } 223 | if (xvalue > xmax) 224 | { 225 | cutoff = 0.0; 226 | } 227 | 228 | clrvalue = clrvalue*cutoff*colormultiplier*0; 229 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 230 | 231 | } 232 | else 233 | { 234 | //gl_FragColor = vec4(0,0,0,alphavalue); 235 | gl_FragColor = vec4(0.0,1.0,0.0,alphavalue); 236 | } 237 | } 238 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Shaders/FS_all_rev.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | uniform float pi; 5 | uniform float calibration; 6 | uniform float blackout; 7 | uniform int beamerlenstype; 8 | // 0 = diverging 9 | // 1 = telecentric 10 | 11 | //---------------------------------------------------------------------------------------------------------------------------------------- 12 | // Grating parameters 13 | uniform int blnGratingEnabled; 14 | uniform float gratingfrequency; 15 | uniform float gratingshift; 16 | uniform float p1x; 17 | uniform float p1y; 18 | uniform float p1z; 19 | uniform float p2x; 20 | uniform float p2y; 21 | uniform float p2z; 22 | uniform int pixelgratingwidth; 23 | uniform int pixelgratingheight; 24 | 25 | //---------------------------------------------------------------------------------------------------------------------------------------- 26 | // Projection parameters 27 | uniform float beamerfov; //X direction 28 | uniform float beamerfrequency; 29 | uniform float beamershift; 30 | uniform float beamerwidth; 31 | uniform float tarx; 32 | uniform float tary; 33 | uniform float tarz; 34 | uniform float locx; 35 | uniform float locy; 36 | uniform float locz; 37 | uniform float bp1x; 38 | uniform float bp1z; 39 | uniform float bp2x; 40 | uniform float bp2z; 41 | uniform int pixelbeamerwidth; 42 | uniform int pixelbeamerheight; 43 | //---------------------------------------------------------------------------------------------------------------------------------------- 44 | 45 | void main() 46 | { 47 | float color; 48 | float colormultiplier; 49 | float shadowtest; 50 | //---------------------------------------------------------------------------------------------------------------------------------------- 51 | //Declarations 52 | float alphavalue; 53 | float gratingwidth; 54 | float gratingheight; 55 | vec4 originalcolor; 56 | originalcolor = gl_FrontMaterial.diffuse; 57 | vec4 FragColor; 58 | int i; 59 | float cutoff; 60 | cutoff = 1.0; 61 | 62 | float clrvalue; 63 | float xvalue; 64 | float rico; 65 | float projtarx; 66 | float beta; 67 | float xmin; 68 | float xmax; 69 | float xunknown; 70 | float zunknown; 71 | float c1; 72 | float c2; 73 | float rico1; 74 | float rico2; 75 | 76 | shadowtest = abs(diffuse.x)+abs(diffuse.y)+abs(diffuse.z); 77 | if (shadowtest > 0.0) 78 | { 79 | colormultiplier = 1.0; 80 | } 81 | else 82 | { 83 | colormultiplier = 0.0; 84 | } 85 | 86 | if (beamerlenstype == 0) 87 | { 88 | //Calculate width & height along X and Y 89 | gratingwidth = abs(p2x-p1x); 90 | gratingheight = abs(p2y-p1y); 91 | 92 | //If sine wave is needed 93 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 94 | 95 | //---------------------------------------------------------------------------------------------------------------------------------------- 96 | //1. Calculate line of grating 97 | rico1 = (bp2z-bp1z)/(bp2x-bp1x); 98 | c1 = bp2z-rico1*bp2x; 99 | 100 | //2. Calculate target line 101 | rico2 = (V.z-locz)/(V.x-locx); 102 | c2 = V.z-rico2*V.x; 103 | 104 | //3. Calculate intersection 105 | xunknown = (c2-c1)/(rico1-rico2); 106 | zunknown = rico1*xunknown+c1; 107 | 108 | if (xunknown < bp1x) 109 | { 110 | cutoff = 0.0; 111 | } 112 | if (xunknown > bp2x) 113 | { 114 | cutoff = 0.0; 115 | } 116 | 117 | //4. Lookup the colorvalue 118 | //If sine wave is needed 119 | clrvalue = (sin((floor((xunknown-bp1x)/(bp2x-bp1x)*float(pixelbeamerwidth))/float(pixelbeamerwidth))*2.0*pi*beamerfrequency+beamershift)+1)/2; 120 | 121 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 122 | //gl_FragColor = myColor; 123 | //---------------------------------------------------------------------------------------------------------------------------------------- 124 | //Main program 125 | if (originalcolor[1] > 0.5) 126 | { 127 | clrvalue = clrvalue*cutoff*colormultiplier; 128 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 129 | } 130 | else 131 | { 132 | gl_FragColor = vec4(0,0,0,alphavalue); 133 | } 134 | } 135 | else //TELECENTRIC LENS 136 | { 137 | //---------------------------------------------------------------------------------------------------------------------------------------- 138 | //Calculate width & height along X and Y 139 | gratingwidth = abs(p2x-p1x); 140 | gratingheight = abs(p2y-p1y); 141 | 142 | //If sine wave is needed 143 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 144 | 145 | //---------------------------------------------------------------------------------------------------------------------------------------- 146 | //1. Calculate rico 147 | rico = (tarz-locz)/(tarx-locx); 148 | 149 | //2a. Project tar on ref plane 150 | projtarx = (0.0-locz)/rico+locx; 151 | 152 | //2b. Project fragment value on Z=0 plane 153 | xvalue = (0.0-V.z)/rico+V.x; 154 | 155 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 156 | beta = atan(locz/(projtarx-locx)); 157 | 158 | //3b. Calculate xmin and xmax; 159 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 160 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 161 | 162 | //4. Lookup the colorvalue 163 | //If sine wave is needed 164 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 165 | 166 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 167 | //gl_FragColor = myColor; 168 | //---------------------------------------------------------------------------------------------------------------------------------------- 169 | //Main program 170 | if (originalcolor[1] > 0.5) 171 | { 172 | 173 | //3c. Less than xmin, higher than xmax is cutoff 174 | if (xvalue < xmin) 175 | { 176 | cutoff = 0.0; 177 | } 178 | if (xvalue > xmax) 179 | { 180 | cutoff = 0.0; 181 | } 182 | 183 | clrvalue = clrvalue*cutoff*colormultiplier; 184 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 185 | } 186 | else 187 | { 188 | gl_FragColor = vec4(0,0,0,alphavalue); 189 | } 190 | } 191 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Shaders/FS_all_v22-09-2012.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | uniform float pi; 5 | uniform float calibration; 6 | uniform float blackout; 7 | uniform int beamerlenstype; 8 | // 0 = diverging 9 | // 1 = telecentric 10 | 11 | //---------------------------------------------------------------------------------------------------------------------------------------- 12 | // Grating parameters 13 | uniform int blnGratingEnabled; 14 | uniform float gratingfrequency; 15 | uniform float gratingshift; 16 | uniform float p1x; 17 | uniform float p1y; 18 | uniform float p1z; 19 | uniform float p2x; 20 | uniform float p2y; 21 | uniform float p2z; 22 | uniform int pixelgratingwidth; 23 | uniform int pixelgratingheight; 24 | 25 | //---------------------------------------------------------------------------------------------------------------------------------------- 26 | // Projection parameters 27 | uniform float beamerfov; //X direction 28 | uniform float beamerfrequency; 29 | uniform float beamershift; 30 | uniform float beamerwidth; 31 | uniform float tarx; 32 | uniform float tary; 33 | uniform float tarz; 34 | uniform float locx; 35 | uniform float locy; 36 | uniform float locz; 37 | uniform float bp1x; 38 | uniform float bp1y; 39 | uniform float bp1z; 40 | uniform float bp2x; 41 | uniform float bp2y; 42 | uniform float bp2z; 43 | uniform int pixelbeamerwidth; 44 | uniform int pixelbeamerheight; 45 | //---------------------------------------------------------------------------------------------------------------------------------------- 46 | 47 | void main() 48 | { 49 | float color; 50 | float colormultiplier; 51 | float shadowtest; 52 | //---------------------------------------------------------------------------------------------------------------------------------------- 53 | //Declarations 54 | float alphavalue; 55 | float gratingwidth; 56 | float gratingheight; 57 | vec4 originalcolor; 58 | originalcolor = gl_FrontMaterial.diffuse; 59 | vec4 FragColor; 60 | int i; 61 | float cutoff; 62 | cutoff = 1.0; 63 | 64 | float clrvalue; 65 | float xvalue; 66 | float rico; 67 | float projtarx; 68 | float beta; 69 | float xmin; 70 | float xmax; 71 | float xunknown; 72 | float zunknown; 73 | float c1; 74 | float c2; 75 | float rico1; 76 | float rico2; 77 | 78 | shadowtest = abs(diffuse.x)+abs(diffuse.y)+abs(diffuse.z); 79 | if (shadowtest > 0.0) 80 | { 81 | colormultiplier = 1.0; 82 | } 83 | else 84 | { 85 | colormultiplier = 0.0; 86 | } 87 | 88 | if (beamerlenstype == 0) 89 | { 90 | //Calculate width & height along X and Y 91 | gratingwidth = abs(p2x-p1x); 92 | gratingheight = abs(p2y-p1y); 93 | 94 | //If sine wave is needed 95 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 96 | 97 | //---------------------------------------------------------------------------------------------------------------------------------------- 98 | //1. Calculate line of grating x 99 | rico1 = (bp2z-bp1z)/(bp2x-bp1x); 100 | c1 = bp2z-rico1*bp2x; 101 | 102 | //2. Calculate target line x 103 | rico2 = (V.z-locz)/(V.x-locx); 104 | c2 = V.z-rico2*V.x; 105 | 106 | //3. Calculate intersection x 107 | xunknown = (c2-c1)/(rico1-rico2); 108 | zunknown = rico1*xunknown+c1; 109 | 110 | if (xunknown < bp1x) 111 | { 112 | cutoff = 0.0; 113 | } 114 | if (xunknown > bp2x) 115 | { 116 | cutoff = 0.0; 117 | } 118 | 119 | //4. Lookup the colorvalue 120 | //If sine wave is needed 121 | clrvalue = (sin((floor((xunknown-bp1x)/(bp2x-bp1x)*float(pixelbeamerwidth))/float(pixelbeamerwidth))*2.0*pi*beamerfrequency+beamershift)+1)/2; 122 | 123 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 124 | //gl_FragColor = myColor; 125 | //---------------------------------------------------------------------------------------------------------------------------------------- 126 | //Main program 127 | if (originalcolor[1] > 0.5) 128 | { 129 | clrvalue = clrvalue*cutoff*colormultiplier; 130 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 131 | } 132 | else 133 | { 134 | gl_FragColor = vec4(0,0,0,alphavalue); 135 | } 136 | } 137 | else //TELECENTRIC LENS 138 | { 139 | //---------------------------------------------------------------------------------------------------------------------------------------- 140 | //Calculate width & height along X and Y 141 | gratingwidth = abs(p2x-p1x); 142 | gratingheight = abs(p2y-p1y); 143 | 144 | //If sine wave is needed 145 | alphavalue = (sin((floor((V.x-p1x)/(p2x-p1x)*(float(pixelgratingwidth)))/(float(pixelgratingwidth)))*2.0*pi*gratingfrequency+gratingshift)+1)/2; 146 | 147 | //---------------------------------------------------------------------------------------------------------------------------------------- 148 | //1. Calculate rico 149 | rico = (tarz-locz)/(tarx-locx); 150 | 151 | //2a. Project tar on ref plane 152 | projtarx = (0.0-locz)/rico+locx; 153 | 154 | //2b. Project fragment value on Z=0 plane 155 | xvalue = (0.0-V.z)/rico+V.x; 156 | 157 | //3a. Calculate beta (loc-tar vs ref (Z=0) plane) 158 | beta = atan(locz/(projtarx-locx)); 159 | 160 | //3b. Calculate xmin and xmax; 161 | xmax = projtarx-(beamerwidth/2.0)/sin(beta); 162 | xmin = projtarx+(beamerwidth/2.0)/sin(beta); 163 | 164 | //4. Lookup the colorvalue 165 | //If sine wave is needed 166 | clrvalue = (sin((floor((xvalue-xmin)/(xmax-xmin)*float(pixelbeamerwidth)))/float(pixelbeamerwidth)*2.0*pi*beamerfrequency+beamershift)+1)/2; 167 | 168 | //vec4 myColor = vec4(clrvalue,clrvalue,clrvalue,1.0); 169 | //gl_FragColor = myColor; 170 | //---------------------------------------------------------------------------------------------------------------------------------------- 171 | //Main program 172 | if (originalcolor[1] > 0.5) 173 | { 174 | 175 | //3c. Less than xmin, higher than xmax is cutoff 176 | if (xvalue < xmin) 177 | { 178 | cutoff = 0.0; 179 | } 180 | if (xvalue > xmax) 181 | { 182 | cutoff = 0.0; 183 | } 184 | 185 | clrvalue = clrvalue*cutoff*colormultiplier; 186 | gl_FragColor = vec4(clrvalue,clrvalue,clrvalue,1); 187 | } 188 | else 189 | { 190 | gl_FragColor = vec4(0,0,0,alphavalue); 191 | } 192 | } 193 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Shaders/VS_all.glsl: -------------------------------------------------------------------------------- 1 | varying vec3 V; 2 | varying vec4 diffuse; 3 | 4 | void main() 5 | { 6 | vec3 normal = gl_Normal; 7 | vec3 lightvector = normalize(gl_LightSource[0].position.xyz); 8 | float nxdir = max(0.0,dot(normal,lightvector)); 9 | diffuse = gl_LightSource[0].diffuse*nxdir; 10 | 11 | V = gl_ModelViewMatrix * gl_Vertex; 12 | gl_Position = ftransform(); 13 | } -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Shaders/measurement1.fpss: -------------------------------------------------------------------------------- 1 | 2 | 3 |
This is a Fringe Projection Simulator Settings File example made by Bart Ribbens
4 | Automatic generated settings file 5 | 23/09/2012 22:31:14 6 | C:\Users\Bart\Dropbox\Paper - Color independent profilometry technique\3D models\Plane_test_grating001.STL 7 | 8 | 9 | 77.64571 10 | 0 11 | 289.7777 12 | 13 | 14 | 0 15 | 0 16 | 0 17 | 18 | 19 | 20000 20 | 20000 21 | 22 | diverging 23 | 24 | 0.2487 25 | 1.333333 26 | 20.0 27 | 0 28 | 29 | 30 | 35.66501 31 | -12.5 32 | 197.4988 33 | 67.8626 34 | 12.5 35 | 188.8715 36 | 37 | 38 | 39 | 40 | 0 41 | 0 42 | 300 43 | 44 | 45 | 0 46 | 0 47 | 0 48 | 49 | 50 | 20000 51 | 20000 52 | 53 | diverging 54 | 55 | 0.3303 56 | 1.333333 57 | 1.0 58 | 405.688793945312 59 | 20 60 | 0 61 | 62 | 63 | -16.6667 64 | -12.5 65 | 200 66 | 16.6667 67 | 12.5 68 | 200 69 | 70 | 71 | 72 | fringe 73 | C:\Users\Bart\Desktop\Measurements\0\ 74 | M001_ 75 | 76 | 3 77 | 10 78 | 79 | 80 | 10 81 | 20 82 | 83 | 84 | 0 85 | 0 86 | 87 | 88 | 89 | 90 |
91 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/Tao.FreeGlut.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Release/Tao.FreeGlut.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/bin/Release/freeglut.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/bin/Release/freeglut.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/freeglut.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/freeglut.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/frmAbout.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class frmAbout 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | Friend WithEvents TableLayoutPanel As System.Windows.Forms.TableLayoutPanel 18 | Friend WithEvents LogoPictureBox As System.Windows.Forms.PictureBox 19 | Friend WithEvents LabelProductName As System.Windows.Forms.Label 20 | Friend WithEvents LabelVersion As System.Windows.Forms.Label 21 | Friend WithEvents LabelCompanyName As System.Windows.Forms.Label 22 | Friend WithEvents TextBoxDescription As System.Windows.Forms.TextBox 23 | Friend WithEvents OKButton As System.Windows.Forms.Button 24 | Friend WithEvents LabelCopyright As System.Windows.Forms.Label 25 | 26 | 'Required by the Windows Form Designer 27 | Private components As System.ComponentModel.IContainer 28 | 29 | 'NOTE: The following procedure is required by the Windows Form Designer 30 | 'It can be modified using the Windows Form Designer. 31 | 'Do not modify it using the code editor. 32 | _ 33 | Private Sub InitializeComponent() 34 | Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmAbout)) 35 | Me.TableLayoutPanel = New System.Windows.Forms.TableLayoutPanel() 36 | Me.LogoPictureBox = New System.Windows.Forms.PictureBox() 37 | Me.LabelProductName = New System.Windows.Forms.Label() 38 | Me.LabelVersion = New System.Windows.Forms.Label() 39 | Me.LabelCopyright = New System.Windows.Forms.Label() 40 | Me.LabelCompanyName = New System.Windows.Forms.Label() 41 | Me.TextBoxDescription = New System.Windows.Forms.TextBox() 42 | Me.OKButton = New System.Windows.Forms.Button() 43 | Me.TableLayoutPanel.SuspendLayout() 44 | CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).BeginInit() 45 | Me.SuspendLayout() 46 | ' 47 | 'TableLayoutPanel 48 | ' 49 | Me.TableLayoutPanel.ColumnCount = 2 50 | Me.TableLayoutPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.0!)) 51 | Me.TableLayoutPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67.0!)) 52 | Me.TableLayoutPanel.Controls.Add(Me.LogoPictureBox, 0, 0) 53 | Me.TableLayoutPanel.Controls.Add(Me.LabelProductName, 1, 0) 54 | Me.TableLayoutPanel.Controls.Add(Me.LabelVersion, 1, 1) 55 | Me.TableLayoutPanel.Controls.Add(Me.LabelCopyright, 1, 2) 56 | Me.TableLayoutPanel.Controls.Add(Me.LabelCompanyName, 1, 3) 57 | Me.TableLayoutPanel.Controls.Add(Me.TextBoxDescription, 1, 4) 58 | Me.TableLayoutPanel.Controls.Add(Me.OKButton, 1, 5) 59 | Me.TableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill 60 | Me.TableLayoutPanel.Location = New System.Drawing.Point(9, 9) 61 | Me.TableLayoutPanel.Name = "TableLayoutPanel" 62 | Me.TableLayoutPanel.RowCount = 6 63 | Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!)) 64 | Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!)) 65 | Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!)) 66 | Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!)) 67 | Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!)) 68 | Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!)) 69 | Me.TableLayoutPanel.Size = New System.Drawing.Size(396, 258) 70 | Me.TableLayoutPanel.TabIndex = 0 71 | ' 72 | 'LogoPictureBox 73 | ' 74 | Me.LogoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill 75 | Me.LogoPictureBox.Image = CType(resources.GetObject("LogoPictureBox.Image"), System.Drawing.Image) 76 | Me.LogoPictureBox.Location = New System.Drawing.Point(3, 3) 77 | Me.LogoPictureBox.Name = "LogoPictureBox" 78 | Me.TableLayoutPanel.SetRowSpan(Me.LogoPictureBox, 6) 79 | Me.LogoPictureBox.Size = New System.Drawing.Size(124, 252) 80 | Me.LogoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage 81 | Me.LogoPictureBox.TabIndex = 0 82 | Me.LogoPictureBox.TabStop = False 83 | ' 84 | 'LabelProductName 85 | ' 86 | Me.LabelProductName.Dock = System.Windows.Forms.DockStyle.Fill 87 | Me.LabelProductName.Location = New System.Drawing.Point(136, 0) 88 | Me.LabelProductName.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0) 89 | Me.LabelProductName.MaximumSize = New System.Drawing.Size(0, 17) 90 | Me.LabelProductName.Name = "LabelProductName" 91 | Me.LabelProductName.Size = New System.Drawing.Size(257, 17) 92 | Me.LabelProductName.TabIndex = 0 93 | Me.LabelProductName.Text = "Product Name" 94 | Me.LabelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft 95 | ' 96 | 'LabelVersion 97 | ' 98 | Me.LabelVersion.Dock = System.Windows.Forms.DockStyle.Fill 99 | Me.LabelVersion.Location = New System.Drawing.Point(136, 25) 100 | Me.LabelVersion.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0) 101 | Me.LabelVersion.MaximumSize = New System.Drawing.Size(0, 17) 102 | Me.LabelVersion.Name = "LabelVersion" 103 | Me.LabelVersion.Size = New System.Drawing.Size(257, 17) 104 | Me.LabelVersion.TabIndex = 0 105 | Me.LabelVersion.Text = "Version" 106 | Me.LabelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft 107 | ' 108 | 'LabelCopyright 109 | ' 110 | Me.LabelCopyright.Dock = System.Windows.Forms.DockStyle.Fill 111 | Me.LabelCopyright.Location = New System.Drawing.Point(136, 50) 112 | Me.LabelCopyright.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0) 113 | Me.LabelCopyright.MaximumSize = New System.Drawing.Size(0, 17) 114 | Me.LabelCopyright.Name = "LabelCopyright" 115 | Me.LabelCopyright.Size = New System.Drawing.Size(257, 17) 116 | Me.LabelCopyright.TabIndex = 0 117 | Me.LabelCopyright.Text = "Copyright" 118 | Me.LabelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft 119 | ' 120 | 'LabelCompanyName 121 | ' 122 | Me.LabelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill 123 | Me.LabelCompanyName.Location = New System.Drawing.Point(136, 75) 124 | Me.LabelCompanyName.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0) 125 | Me.LabelCompanyName.MaximumSize = New System.Drawing.Size(0, 17) 126 | Me.LabelCompanyName.Name = "LabelCompanyName" 127 | Me.LabelCompanyName.Size = New System.Drawing.Size(257, 17) 128 | Me.LabelCompanyName.TabIndex = 0 129 | Me.LabelCompanyName.Text = "Company Name" 130 | Me.LabelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft 131 | ' 132 | 'TextBoxDescription 133 | ' 134 | Me.TextBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill 135 | Me.TextBoxDescription.Location = New System.Drawing.Point(136, 103) 136 | Me.TextBoxDescription.Margin = New System.Windows.Forms.Padding(6, 3, 3, 3) 137 | Me.TextBoxDescription.Multiline = True 138 | Me.TextBoxDescription.Name = "TextBoxDescription" 139 | Me.TextBoxDescription.ReadOnly = True 140 | Me.TextBoxDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both 141 | Me.TextBoxDescription.Size = New System.Drawing.Size(257, 123) 142 | Me.TextBoxDescription.TabIndex = 0 143 | Me.TextBoxDescription.TabStop = False 144 | Me.TextBoxDescription.Text = resources.GetString("TextBoxDescription.Text") 145 | ' 146 | 'OKButton 147 | ' 148 | Me.OKButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) 149 | Me.OKButton.DialogResult = System.Windows.Forms.DialogResult.Cancel 150 | Me.OKButton.Location = New System.Drawing.Point(318, 232) 151 | Me.OKButton.Name = "OKButton" 152 | Me.OKButton.Size = New System.Drawing.Size(75, 23) 153 | Me.OKButton.TabIndex = 0 154 | Me.OKButton.Text = "&OK" 155 | ' 156 | 'frmAbout 157 | ' 158 | Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) 159 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 160 | Me.CancelButton = Me.OKButton 161 | Me.ClientSize = New System.Drawing.Size(414, 276) 162 | Me.Controls.Add(Me.TableLayoutPanel) 163 | Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog 164 | Me.MaximizeBox = False 165 | Me.MinimizeBox = False 166 | Me.Name = "frmAbout" 167 | Me.Padding = New System.Windows.Forms.Padding(9) 168 | Me.ShowInTaskbar = False 169 | Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent 170 | Me.Text = "frmAbout" 171 | Me.TableLayoutPanel.ResumeLayout(False) 172 | Me.TableLayoutPanel.PerformLayout() 173 | CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).EndInit() 174 | Me.ResumeLayout(False) 175 | 176 | End Sub 177 | 178 | End Class 179 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/frmAbout.vb: -------------------------------------------------------------------------------- 1 | 'This file is part of Fringe Projection Simulator. 2 | ' 3 | ' Fringe Projection Simulator is free software: you can redistribute it and/or modify 4 | ' it under the terms of the GNU General Public License as published by 5 | ' the Free Software Foundation, either version 3 of the License, or 6 | ' (at your option) any later version. 7 | ' 8 | ' Fringe Projection Simulator is distributed in the hope that it will be useful, 9 | ' but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | ' GNU General Public License for more details. 12 | ' 13 | ' You should have received a copy of the GNU General Public License 14 | ' along with Fringe Projection Simulator. If not, see . 15 | Imports System.Deployment.Application 16 | Imports Fringe_Projection_Simulator_2013.Form1 17 | Public NotInheritable Class frmAbout 18 | Private Sub frmAbout_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 19 | ' Set the title of the form. 20 | Dim ApplicationTitle As String 21 | If My.Application.Info.Title <> "" Then 22 | ApplicationTitle = My.Application.Info.Title 23 | Else 24 | ApplicationTitle = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName) 25 | End If 26 | Me.Text = String.Format("About {0}", ApplicationTitle) 27 | ' Initialize all of the text displayed on the About Box. 28 | ' TODO: Customize the application's assembly information in the "Application" pane of the project 29 | ' properties dialog (under the "Project" menu). 30 | Me.LabelProductName.Text = My.Application.Info.ProductName 31 | Me.LabelVersion.Text = GetVersion() 32 | Me.LabelCopyright.Text = My.Application.Info.Copyright 33 | Me.LabelCompanyName.Text = My.Application.Info.CompanyName 34 | 'Me.TextBoxDescription.Text = My.Application.Info.Description 35 | Me.TextBoxDescription.Text = "License information" & vbCrLf & "-------------------------------" & vbCrLf 36 | End Sub 37 | Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton.Click 38 | Me.Close() 39 | End Sub 40 | Public Shared Function GetVersion() As String 41 | Dim ourVersion As String = String.Empty 42 | 'if running the deployed application, you can get the version 43 | ' from the ApplicationDeployment information. If you try 44 | ' to access this when you are running in Visual Studio, it will not work. 45 | If System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed Then 46 | ourVersion = ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString() 47 | Else 48 | Dim assemblyInfo As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly() 49 | If assemblyInfo IsNot Nothing Then 50 | ourVersion = assemblyInfo.GetName().Version.ToString() 51 | End If 52 | End If 53 | Return ourVersion 54 | End Function 55 | End Class 56 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/frmBeamerParameters.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/frmBeamerParameters.vb: -------------------------------------------------------------------------------- 1 | 'This file is part of Fringe Projection Simulator. 2 | ' 3 | ' Fringe Projection Simulator is free software: you can redistribute it and/or modify 4 | ' it under the terms of the GNU General Public License as published by 5 | ' the Free Software Foundation, either version 3 of the License, or 6 | ' (at your option) any later version. 7 | ' 8 | ' Fringe Projection Simulator is distributed in the hope that it will be useful, 9 | ' but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | ' GNU General Public License for more details. 12 | ' 13 | ' You should have received a copy of the GNU General Public License 14 | ' along with Fringe Projection Simulator. If not, see . 15 | Public Class frmBeamerParameters 16 | Private Sub frmBeamerParameters_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 17 | txtLocX.Text = OpenGLRev01.OpenGLColor.oGetBeamerLocationX 18 | txtLocY.Text = OpenGLRev01.OpenGLColor.oGetBeamerLocationY 19 | txtLocZ.Text = OpenGLRev01.OpenGLColor.oGetBeamerLocationZ 20 | 21 | txtTarX.Text = OpenGLRev01.OpenGLColor.oGetBeamerTargetX 22 | txtTarY.Text = OpenGLRev01.OpenGLColor.oGetBeamerTargetY 23 | txtTarZ.Text = OpenGLRev01.OpenGLColor.ogetBeamerTargetZ 24 | 25 | txtResX.Text = OpenGLRev01.OpenGLColor.oGetBeamerPixelWidth 26 | txtResY.Text = OpenGLRev01.OpenGLColor.oGetBeamerPixelHeight 27 | 28 | txtAspectRatio.Text = OpenGLRev01.OpenGLColor.oGetBeamerRatio 29 | txtAngle.Text = OpenGLRev01.OpenGLColor.oGetBeamerAngle 30 | End Sub 31 | End Class -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/frmCameraParameters.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/frmCameraParameters.vb: -------------------------------------------------------------------------------- 1 | 'This file is part of Fringe Projection Simulator. 2 | ' 3 | ' Fringe Projection Simulator is free software: you can redistribute it and/or modify 4 | ' it under the terms of the GNU General Public License as published by 5 | ' the Free Software Foundation, either version 3 of the License, or 6 | ' (at your option) any later version. 7 | ' 8 | ' Fringe Projection Simulator is distributed in the hope that it will be useful, 9 | ' but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | ' GNU General Public License for more details. 12 | ' 13 | ' You should have received a copy of the GNU General Public License 14 | ' along with Fringe Projection Simulator. If not, see . 15 | Public Class frmCameraParameters 16 | Private Sub frmCameraParameters_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 17 | txtLocX.Text = OpenGLRev01.CameraSettings.oGetCameraLocationX 18 | txtLocY.Text = OpenGLRev01.CameraSettings.oGetCameraLocationY 19 | txtLocZ.Text = OpenGLRev01.CameraSettings.oGetCameraLocationZ 20 | 21 | txtTarX.Text = OpenGLRev01.CameraSettings.oGetCameraTargetX 22 | txtTarY.Text = OpenGLRev01.CameraSettings.oGetCameraTargetY 23 | txtTarZ.Text = OpenGLRev01.CameraSettings.oGetCameraTargetZ 24 | 25 | txtPOV.Text = OpenGLRev01.CameraSettings.oGetCameraFOV 26 | txtAspectRatio.Text = OpenGLRev01.CameraSettings.oGetCameraAspectRatio 27 | txtNear.Text = OpenGLRev01.CameraSettings.oGetCameraNear 28 | txtFar.Text = OpenGLRev01.CameraSettings.oGetCameraFar 29 | End Sub 30 | End Class -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/frmGratingParameters.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/frmGratingParameters.vb: -------------------------------------------------------------------------------- 1 | 'This file is part of Fringe Projection Simulator. 2 | ' 3 | ' Fringe Projection Simulator is free software: you can redistribute it and/or modify 4 | ' it under the terms of the GNU General Public License as published by 5 | ' the Free Software Foundation, either version 3 of the License, or 6 | ' (at your option) any later version. 7 | ' 8 | ' Fringe Projection Simulator is distributed in the hope that it will be useful, 9 | ' but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | ' GNU General Public License for more details. 12 | ' 13 | ' You should have received a copy of the GNU General Public License 14 | ' along with Fringe Projection Simulator. If not, see . 15 | Public Class frmGratingParameters 16 | Private Sub frmGratingParameters_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 17 | txtBeamerGratingLocX1.Text = OpenGLRev01.OpenGLColor.oGetBeamerGratingX1() 18 | txtBeamerGratingLocY1.Text = OpenGLRev01.OpenGLColor.oGetBeamerGratingY1() 19 | txtBeamerGratingLocZ1.Text = OpenGLRev01.OpenGLColor.oGetBeamerGratingZ1() 20 | txtBeamerGratingLocX2.Text = OpenGLRev01.OpenGLColor.oGetBeamerGratingX2() 21 | txtBeamerGratingLocY2.Text = OpenGLRev01.OpenGLColor.oGetBeamerGratingY2() 22 | txtBeamerGratingLocZ2.Text = OpenGLRev01.OpenGLColor.oGetBeamerGratingZ2() 23 | txtCameraGratingLocX1.Text = OpenGLRev01.OpenGLColor.oGetCameraGratingX1() 24 | txtCameraGratingLocY1.Text = OpenGLRev01.OpenGLColor.oGetCameraGratingY1() 25 | txtCameraGratingLocZ1.Text = OpenGLRev01.OpenGLColor.oGetCameraGratingZ1() 26 | txtCameraGratingLocX2.Text = OpenGLRev01.OpenGLColor.oGetCameraGratingX2() 27 | txtCameraGratingLocY2.Text = OpenGLRev01.OpenGLColor.oGetCameraGratingY2() 28 | txtCameraGratingLocZ2.Text = OpenGLRev01.OpenGLColor.oGetCameraGratingZ2() 29 | 30 | txtBeamerResX.Text = OpenGLRev01.OpenGLColor.oGetBeamerPixelWidth() 31 | txtBeamerResY.Text = OpenGLRev01.OpenGLColor.oGetBeamerPixelHeight() 32 | txtCameraResX.Text = OpenGLRev01.OpenGLColor.oGetCameraGratingPixelWidth() 33 | txtCameraResY.Text = OpenGLRev01.OpenGLColor.oGetCameraGratingPixelHeight() 34 | 35 | txtBeamerGratingFrequency.Text = OpenGLRev01.OpenGLColor.oGetBeamerFrequency() 36 | txtBeamerGratingPhaseShift.Text = OpenGLRev01.OpenGLColor.oGetBeamerPhaseShift() 37 | txtCameraGratingFrequency.Text = OpenGLRev01.OpenGLColor.oGetCameraFrequency() 38 | txtCameraGratingPhaseShift.Text = OpenGLRev01.OpenGLColor.oGetCameraPhaseShift() 39 | End Sub 40 | End Class -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/frmPhaseShift.vb: -------------------------------------------------------------------------------- 1 | 'This file is part of Fringe Projection Simulator. 2 | ' 3 | ' Fringe Projection Simulator is free software: you can redistribute it and/or modify 4 | ' it under the terms of the GNU General Public License as published by 5 | ' the Free Software Foundation, either version 3 of the License, or 6 | ' (at your option) any later version. 7 | ' 8 | ' Fringe Projection Simulator is distributed in the hope that it will be useful, 9 | ' but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | ' GNU General Public License for more details. 12 | ' 13 | ' You should have received a copy of the GNU General Public License 14 | ' along with Fringe Projection Simulator. If not, see . 15 | Imports System.Math 16 | Public Class frmPhaseShift 17 | Private tt As ToolTip = New ToolTip() 18 | Private Sub frmPhaseShift_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 19 | txtPhaseShift.Text = OpenGLRev01.OpenGLColor.oGetBeamerPhaseShift 20 | Select Case OpenGLRev01.OpenGLColor.oGetBeamerPhaseShift 21 | Case 0 22 | rbn0.Checked = True 23 | Case PI / 4 24 | rbnPi4.Checked = True 25 | Case PI / 2 26 | rbnPi2.Checked = True 27 | Case 3 * PI / 4 28 | rbn3Pi4.Checked = True 29 | Case PI 30 | rbnPi.Checked = True 31 | Case 5 * PI / 4 32 | rbn5Pi4.Checked = True 33 | Case 3 * PI / 2 34 | rbn3Pi2.Checked = True 35 | Case 7 * PI / 4 36 | rbn7Pi4.Checked = True 37 | End Select 38 | 39 | tt.UseFading = True 40 | End Sub 41 | Private Sub btnSetPhaseShift_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSetPhaseShift.Click 42 | Dim sglPhase As Single 43 | Dim ErrorDescription As String = Nothing 44 | If FDMath.oGetResult(txtPhaseShift.Text, sglPhase, ErrorDescription) = True Then 45 | If rbnOnlyBeamer.Checked = True Then 46 | OpenGLRev01.OpenGLColor.oSetBeamerPhaseShift(sglPhase) 47 | OpenGLRev01.OpenGLColor.oUpdateShader() 48 | Me.Close() 49 | Else 50 | OpenGLRev01.OpenGLColor.oSetBeamerPhaseShift(sglPhase) 51 | OpenGLRev01.OpenGLColor.oSetCameraGratingPhaseShift(sglPhase) 52 | OpenGLRev01.OpenGLColor.oUpdateShader() 53 | Me.Close() 54 | End If 55 | 56 | Else 57 | MsgBox("Please enter a valid phase value!" & vbCrLf & ErrorDescription) 58 | End If 59 | End Sub 60 | Private Function ReadRadioButtons(ByRef PhaseShift As Single) As Boolean 61 | Select Case True 62 | Case rbn0.Checked 63 | PhaseShift = 0 64 | Return True 65 | Case rbnPi4.Checked 66 | PhaseShift = PI / 4 67 | Return True 68 | Case rbnPi2.Checked 69 | PhaseShift = PI / 2 70 | Return True 71 | Case rbn3Pi4.Checked 72 | PhaseShift = 3 * PI / 4 73 | Return True 74 | Case rbnPi.Checked 75 | PhaseShift = PI 76 | Return True 77 | Case rbn5Pi4.Checked 78 | PhaseShift = 5 * PI / 4 79 | Return True 80 | Case rbn3Pi2.Checked 81 | PhaseShift = 3 * PI / 2 82 | Return True 83 | Case rbn7Pi4.Checked 84 | PhaseShift = 7 * PI / 4 85 | Return True 86 | Case Else 87 | Return False 88 | End Select 89 | End Function 90 | Private Sub txtPhaseShift_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPhaseShift.GotFocus 91 | rbn0.Checked = False 92 | rbnPi4.Checked = False 93 | rbnPi2.Checked = False 94 | rbn3Pi4.Checked = False 95 | rbnPi.Checked = False 96 | rbn5Pi4.Checked = False 97 | rbn3Pi2.Checked = False 98 | rbn7Pi4.Checked = False 99 | End Sub 100 | Private Sub txtPhaseShift_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPhaseShift.TextChanged 101 | UpdatePhaseShiftInPi() 102 | End Sub 103 | Dim ErrorDescription As String = Nothing 104 | Sub UpdatePhaseShiftInPi() 105 | Dim Phase As Single 106 | If ReadRadioButtons(Phase) = True Then 107 | txtPhaseShift.Text = Phase 108 | If FDMath.oGetResult_in_Pi(CStr(Phase), lblResultInPi.Text, ErrorDescription) = False Then 109 | pbStatus.Image = ImgList1.Images(1) 110 | pbStatus.Tag = "error" 111 | Else 112 | pbStatus.Image = ImgList1.Images(0) 113 | pbStatus.Tag = "ok" 114 | End If 115 | Else 116 | If FDMath.oGetResult(txtPhaseShift.Text, Phase, ErrorDescription) = False Then 117 | pbStatus.Image = ImgList1.Images(1) 118 | pbStatus.Tag = "error" 119 | lblResultInPi.Text = "" 120 | Else 121 | pbStatus.Image = ImgList1.Images(0) 122 | pbStatus.Tag = "ok" 123 | Dim MyResult As String = Nothing 124 | If FDMath.oGetResult_in_Pi(Phase, MyResult, ErrorDescription) = True Then 125 | lblResultInPi.Text = MyResult 126 | Else 127 | lblResultInPi.Text = "" 128 | End If 129 | End If 130 | End If 131 | End Sub 132 | Private Sub pbStatus_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles pbStatus.MouseEnter 133 | If pbStatus.Tag = "error" Then 134 | tt.Show(ErrorDescription, Me, 0, 175, 3000) 135 | End If 136 | End Sub 137 | #Region "RadioButton changes" 138 | Private Sub rbn0_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbn0.CheckedChanged 139 | UpdatePhaseShiftInPi() 140 | End Sub 141 | Private Sub rbnPi4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbnPi4.CheckedChanged 142 | UpdatePhaseShiftInPi() 143 | End Sub 144 | Private Sub rbnPi2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbnPi2.CheckedChanged 145 | UpdatePhaseShiftInPi() 146 | End Sub 147 | Private Sub rbn3Pi4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbn3Pi4.CheckedChanged 148 | UpdatePhaseShiftInPi() 149 | End Sub 150 | Private Sub rbnPi_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbnPi.CheckedChanged 151 | UpdatePhaseShiftInPi() 152 | End Sub 153 | Private Sub rbn5Pi4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbn5Pi4.CheckedChanged 154 | UpdatePhaseShiftInPi() 155 | End Sub 156 | Private Sub rbn3Pi2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbn3Pi2.CheckedChanged 157 | UpdatePhaseShiftInPi() 158 | End Sub 159 | Private Sub rbn7Pi4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbn7Pi4.CheckedChanged 160 | UpdatePhaseShiftInPi() 161 | End Sub 162 | #End Region 163 | End Class -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/frmProgress.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class frmProgress 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmProgress)) 26 | Me.lblCommand = New System.Windows.Forms.Label() 27 | Me.pb1 = New System.Windows.Forms.ProgressBar() 28 | Me.btnCancel = New System.Windows.Forms.Button() 29 | Me.SuspendLayout() 30 | ' 31 | 'lblCommand 32 | ' 33 | Me.lblCommand.Location = New System.Drawing.Point(12, 9) 34 | Me.lblCommand.Name = "lblCommand" 35 | Me.lblCommand.Size = New System.Drawing.Size(260, 43) 36 | Me.lblCommand.TabIndex = 0 37 | Me.lblCommand.Text = "lblCommand" 38 | Me.lblCommand.TextAlign = System.Drawing.ContentAlignment.MiddleCenter 39 | ' 40 | 'pb1 41 | ' 42 | Me.pb1.Location = New System.Drawing.Point(12, 55) 43 | Me.pb1.Name = "pb1" 44 | Me.pb1.Size = New System.Drawing.Size(260, 23) 45 | Me.pb1.TabIndex = 1 46 | ' 47 | 'btnCancel 48 | ' 49 | Me.btnCancel.BackColor = System.Drawing.SystemColors.Control 50 | Me.btnCancel.ForeColor = System.Drawing.Color.Green 51 | Me.btnCancel.Location = New System.Drawing.Point(12, 84) 52 | Me.btnCancel.Name = "btnCancel" 53 | Me.btnCancel.Size = New System.Drawing.Size(260, 23) 54 | Me.btnCancel.TabIndex = 2 55 | Me.btnCancel.Text = "Cancel" 56 | Me.btnCancel.UseVisualStyleBackColor = False 57 | ' 58 | 'frmProgress 59 | ' 60 | Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) 61 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 62 | Me.ClientSize = New System.Drawing.Size(284, 117) 63 | Me.Controls.Add(Me.btnCancel) 64 | Me.Controls.Add(Me.pb1) 65 | Me.Controls.Add(Me.lblCommand) 66 | Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle 67 | Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) 68 | Me.MaximizeBox = False 69 | Me.MinimizeBox = False 70 | Me.Name = "frmProgress" 71 | Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen 72 | Me.Text = "frmProgress" 73 | Me.ResumeLayout(False) 74 | 75 | End Sub 76 | Friend WithEvents lblCommand As System.Windows.Forms.Label 77 | Friend WithEvents pb1 As System.Windows.Forms.ProgressBar 78 | Friend WithEvents btnCancel As System.Windows.Forms.Button 79 | End Class 80 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/frmProgress.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 122 | 123 | AAABAAEAHh0AAAEACAA8CAAAFgAAACgAAAAeAAAAOgAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 124 | AAAAAAAAFxYXAB4pMwAhKjMAMzEzADU0NQB2V0EAZmVjAI0wAACTNwAAlToAAJY8AQCZQgEAm0QCALBr 125 | OwDJawAAzHEAAM12AQDNcgYAznYEAM54AQDPeAgA0n4UAACfAAAGngYAB6IHAAihCAAMpAwAE6YTABSn 126 | FAAZqRkAHaodACGrIQAirCIAJK0kADCuMAA9tz0Aa48CAGuRAABskgAAcpQCAHaaAQB4mwIAeZwKAHaD 127 | dgBgxWAAcMpwAIOjHQCMqj0AlK8/AJSxOADRgRkA1YopANaMLADXkDMAl7FFAI+YcAC6iGUAzZ5+AOqw 128 | YQDpsWQAudFrALzPfQABALcAAwC5AAQDuQANALsADwG8ABABvAAkH8IAJyTMAAAx7wAGO/AABzzwAAg+ 129 | 8AAMQPEAD0TxABBE8QAZS/kAG075ABxP+QAhUvYAUEnUAG1p2wB8eN8AQ2z0AJUClQCWBJYAmAeYAJgK 130 | mACaD5oAmxCbAIV/3QCDfegAwmLCANVu1QDofegAAIH/AAGG/wAFhv8AAoj/ABaT/wAynP8APKH/AGSF 131 | 8gB8l/QAcpL5AF2y/wBpxP8Aesn/AJWQiwCgoJwAg4C5ALa3tgC4uLIAz6SHAOKpgwCb2psA8sWOAPnE 132 | nwDtzaAA9tK3APTbuwD32LwAnZ3AAIaB3gC8u8gAi4fyAJSP+QCJpPkAsb3oAKK7/wDMhMwA05bTANSZ 133 | 1ADDv8QA16DXANyq3AD5vPkAgM7/AL3I7QC9zfsAqtj/AMTDxADDw8kAyMrKANjX2ADf/98A/+PQAO/Y 134 | 7wD/3f8AyOr/AP//9gD9//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 135 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 136 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 137 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 138 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 139 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 140 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 141 | AAAAAAAAmpqampqampqUOXOZmpqampqampZXj5qampqampqaAACampqampqamnkMDAsJBpqampqKV1tW 142 | BJqampqampoAAJqampqampqaeQwMDAwNCG6alVZbW1tgmpqampqamgAAmpqampqampp5DQwMDAwMCpia 143 | WFtbW1cFmpqampqaAACampqampqamnsLDAwMDAw6mppeW1tbW5mampqampoAAJqampqampqampqaDgwN 144 | dJqamppZW1taX5qampqamgAAmpqamno1EhA7mpqamneampqamlZbW1tZmpqampqaAACamnYPFBQUFDya 145 | mpqampqampqahIWGiImaXH19fXwAAJo2FBQUFBQUPJqampqampqampqampqamppCRERDcAAAmhMUFBQU 146 | FBQ8mpqampqampqampqampqaf0REREJ+AACamhYRERA0eJqampqampqampqampqamppAREJCQZoAAJqa 147 | mhUzB5qampqampqampqampqampqaRURERERSmgAAmpqampqampqampqampqampqampqamppTREREP5Ca 148 | AACampqaJYeampqampqampqampqampqamppdRESAmpoAAJqamjIqJnKampqampqampqampqampqamppU 149 | RpqamgAAmpo+KSoqJ2+ampqampqampqampqampqampqampqaAACamispKSkpPZqampqampqampqampqa 150 | mpqagUiDmpoAAJqaKSoqKiiampqampqampqampqampqZjVVKTUtpmgAAmpopKiopOJqampqampqampqa 151 | mpqamk9NTU1NTUxoAACaLyoqKieampqampqampqampqampqaUE1NTU1NTGoAAJo3MTExMJotLi4udZqa 152 | mpqampqamppQTU1NTUeMmgAAmpqampqamhofHx8kmpqampqLkZqamk5KSVGCmpqaAACampqampqaGSAg 153 | IBwFmpqaZmRjl44AmpqampqampoAAJqampqampojICAgIJKammdkZGRiY2UDmpqampqamgAAmpqampqa 154 | mpMiICAgGAFsZGRkZGRkZAKampqampqaAACampqampqamhcgICAbLJptYWRkZGRkApqampqampoAAJqa 155 | mpqampqamiEgHXGampqaZmFiZGQCmpqampqamgAAmpqampqampqaLR6ampqampqampprZwOampqampqa 156 | AACampqampqampqampqampqampqampqampqampqampoAAP8P4/z/A8H8/wCB/P8AQPz/AMD8/+Hg/PB7 157 | 4PzAf+CAgH//gIB//wDA//8E4//+BP///gTz//8M4f//nMD///zA//+Mwf/8BMH//ACD//wAgg/8BP4P 158 | nBz+BwP8/gYB/P4AAfz/AgH8/4eB/P+f8fz////8 159 | 160 | 161 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/frmProgress.vb: -------------------------------------------------------------------------------- 1 | 'This file is part of Fringe Projection Simulator. 2 | ' 3 | ' Fringe Projection Simulator is free software: you can redistribute it and/or modify 4 | ' it under the terms of the GNU General Public License as published by 5 | ' the Free Software Foundation, either version 3 of the License, or 6 | ' (at your option) any later version. 7 | ' 8 | ' Fringe Projection Simulator is distributed in the hope that it will be useful, 9 | ' but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | ' GNU General Public License for more details. 12 | ' 13 | ' You should have received a copy of the GNU General Public License 14 | ' along with Fringe Projection Simulator. If not, see . 15 | Public Class frmProgress 16 | Private Sub btnCancel_Click(sender As System.Object, e As System.EventArgs) Handles btnCancel.Click 17 | btnCancel.ForeColor = Drawing.Color.Red 18 | End Sub 19 | End Class -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/Fringe Projection Simulator 2013.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/Fringe Projection Simulator 2013.exe -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/Fringe Projection Simulator 2013.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/Fringe Projection Simulator 2013.pdb -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/Fringe Projection Simulator 2013.vbproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/Fringe Projection Simulator 2013.vbproj.GenerateResource.Cache -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/Fringe Projection Simulator 2013.vbprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/Fringe Projection Simulator 2013.vbprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/Fringe Projection Simulator 2013.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Fringe Projection Simulator 2013 6 | 7 | 8 | 9 | 10 | 11 | A strongly-typed resource class, for looking up localized strings, etc. 12 | 13 | 14 | 15 | 16 | Returns the cached ResourceManager instance used by this class. 17 | 18 | 19 | 20 | 21 | Overrides the current thread's CurrentUICulture property for all 22 | resource lookups using this strongly typed resource class. 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.Form1.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.Form1.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.Resources.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.frmAbout.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.frmAbout.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.frmBeamerParameters.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.frmBeamerParameters.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.frmCameraParameters.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.frmCameraParameters.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.frmGratingParameters.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.frmGratingParameters.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.frmPhaseShift.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.frmPhaseShift.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.frmProgress.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/Fringe_Projection_Simulator_2013.frmProgress.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Debug/TempPE/My Project.Resources.Designer.vb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Debug/TempPE/My Project.Resources.Designer.vb.dll -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Release/Fringe Projection Simulator 2013.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Release/Fringe Projection Simulator 2013.exe -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Release/Fringe Projection Simulator 2013.vbproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Shaders\AllT.txt 2 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Shaders\FST.txt 3 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\3Dmodels\Realtest_R6_smooth.STL 4 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\3Dmodels\Realtest_R6_smooth_ref.STL 5 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\MeasurementFiles\measurement_Ball_rev2-02-2013.fpss 6 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\MeasurementFiles\measurement_Ref_rev2-02-2013.fpss 7 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Shaders\FS_1a.glsl 8 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Shaders\FS_1d.glsl 9 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Shaders\FS_all.glsl 10 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Shaders\FS_all_rev.glsl 11 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Shaders\FS_all_v22-09-2012.glsl 12 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Shaders\FS_all_v26-11-2012.glsl 13 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Shaders\measurement1.fpss 14 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Shaders\VS_all.glsl 15 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Fringe Projection Simulator 2013.exe 16 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Fringe Projection Simulator 2013.pdb 17 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Fringe Projection Simulator 2013.xml 18 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Artesis_button001.dll 19 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\OpenTK.Compatibility.dll 20 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\OpenTK.dll 21 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\OpenTK.GLControl.dll 22 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\bin\Release\Tao.FreeGlut.dll 23 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\obj\x86\Release\Fringe_Projection_Simulator_2013.Form1.resources 24 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\obj\x86\Release\Fringe_Projection_Simulator_2013.frmAbout.resources 25 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\obj\x86\Release\Fringe_Projection_Simulator_2013.frmBeamerParameters.resources 26 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\obj\x86\Release\Fringe_Projection_Simulator_2013.frmCameraParameters.resources 27 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\obj\x86\Release\Fringe_Projection_Simulator_2013.frmGratingParameters.resources 28 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\obj\x86\Release\Fringe_Projection_Simulator_2013.frmPhaseShift.resources 29 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\obj\x86\Release\Fringe_Projection_Simulator_2013.frmProgress.resources 30 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\obj\x86\Release\Fringe_Projection_Simulator_2013.Resources.resources 31 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\obj\x86\Release\Fringe Projection Simulator 2013.vbproj.GenerateResource.Cache 32 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\obj\x86\Release\Fringe Projection Simulator 2013.exe 33 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\obj\x86\Release\Fringe Projection Simulator 2013.xml 34 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\obj\x86\Release\Fringe Projection Simulator 2013.pdb 35 | C:\DOCUMENTS\FringeProjectionSimulator-master\FringeProjectionSimulator-master\Fringe Projection Simulator 2013\obj\x86\Release\Fringe Projection Simulator 2013.vbprojResolveAssemblyReference.cache 36 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Release/Fringe Projection Simulator 2013.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Fringe Projection Simulator 2013 6 | 7 | 8 | 9 | 10 | 11 | A strongly-typed resource class, for looking up localized strings, etc. 12 | 13 | 14 | 15 | 16 | Returns the cached ResourceManager instance used by this class. 17 | 18 | 19 | 20 | 21 | Overrides the current thread's CurrentUICulture property for all 22 | resource lookups using this strongly typed resource class. 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.Form1.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.Form1.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.Resources.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.frmAbout.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.frmAbout.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.frmBeamerParameters.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.frmBeamerParameters.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.frmCameraParameters.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.frmCameraParameters.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.frmGratingParameters.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.frmGratingParameters.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.frmPhaseShift.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.frmPhaseShift.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.frmProgress.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Release/Fringe_Projection_Simulator_2013.frmProgress.resources -------------------------------------------------------------------------------- /Fringe Projection Simulator 2013/obj/x86/Release/TempPE/My Project.Resources.Designer.vb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Fringe Projection Simulator 2013/obj/x86/Release/TempPE/My Project.Resources.Designer.vb.dll -------------------------------------------------------------------------------- /Manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fleece3Design/FringeProjectionSimulator/050d766bc9086a364c89cd040a05a6d09b13362a/Manual.pdf -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- 1 | Fringe Projection Simulator 2 | http://www.fringesimulator.com 3 | ================================== 4 | 5 | License agreement 6 | 7 | The Fringe Projection Simulator is provided under GPL v.3 license, which exact definition 8 | may be found in gpl.txt file provided with the Simulator or on the 9 | next web page: http://www.gnu.org/licenses/gpl.html 10 | 11 | Copyright © Fringe Projection Simulator, 2013 12 | info@fringesimulator.com --------------------------------------------------------------------------------