├── 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
--------------------------------------------------------------------------------