├── Extensions
├── GlyphCLR
│ ├── app.rc
│ ├── app.ico
│ ├── resource.h
│ ├── packages.config
│ ├── _Stdafx.h
│ ├── _Stdafx.cpp
│ ├── GlyphCLR.h
│ ├── NativeGlyph.h
│ └── AssemblyInfo.cpp
├── GlyphKinect
│ └── KinectPose.cpp
├── GlyphWPF
│ ├── GlyphWPF.vcxproj.filters
│ └── AssemblyInfo.cpp
└── GlyphRift
│ └── RiftManager.cpp
├── Applications
├── Data
│ ├── Models
│ │ ├── bowl.ms3d
│ │ ├── box.ms3d
│ │ ├── Screen.ms3d
│ │ ├── TBone.ms3d
│ │ ├── Walker.ms3d
│ │ ├── hedra.ms3d
│ │ ├── spring.ms3d
│ │ ├── small_box.ms3d
│ │ ├── ScreenFrame.ms3d
│ │ ├── UnitSphere2.ms3d
│ │ ├── Sample_Scene.ms3d
│ │ ├── MeshedReconstruction.stl
│ │ ├── CPNAdaptiveTest.ply
│ │ ├── BoxWithBadNormals.ply
│ │ └── CPNTest.ply
│ ├── Textures
│ │ ├── Hex.png
│ │ ├── Tiles.png
│ │ ├── fruit.png
│ │ ├── Outcrop.png
│ │ ├── Particle.png
│ │ ├── EyeOfHorus.png
│ │ ├── Hex_Normal.png
│ │ ├── EyeOfHorus_128.png
│ │ ├── TerrainHeightMap.png
│ │ ├── TerrainHeightMap2.png
│ │ ├── TropicalSunnyDay.dds
│ │ └── EyeOfHorus_128_Blurred.png
│ ├── Shaders
│ │ ├── AmbientOcclusionCS_16.hlsl
│ │ ├── AmbientOcclusionCS_32.hlsl
│ │ ├── DepthPS.hlsl
│ │ ├── TextureVS.hlsl
│ │ ├── TexturePS.hlsl
│ │ ├── ImageViewerPS.hlsl
│ │ ├── ObjectTexturedPS.hlsl
│ │ ├── InvertColorCS.hlsl
│ │ ├── FinalPS.hlsl
│ │ ├── FullscreenColor.hlsl
│ │ ├── FullscreenTextured.hlsl
│ │ ├── ObjectTexturedIntPS.hlsl
│ │ ├── VertexColor.hlsl
│ │ ├── DepthVS.hlsl
│ │ ├── object-color.vertex-normal.flat.perspective.ps.hlsl
│ │ ├── vertex-color.vertex-normal.flat.perspective.ps.hlsl
│ │ ├── VertexInstanceColor.hlsl
│ │ ├── ImageViewerVS.hlsl
│ │ ├── FinalVS.hlsl
│ │ ├── ObjectTexturedVS.hlsl
│ │ ├── FullscreenTwoTextures.hlsl
│ │ ├── TransparentGeometryFlat.hlsl
│ │ ├── Textured.hlsl
│ │ ├── LuminanceThresholdCS.hlsl
│ │ ├── Skybox.hlsl
│ │ ├── ImmediateGeometryTextured.hlsl
│ │ └── AlphaTestTextured.hlsl
│ └── Scripts
│ │ ├── Actor.lua
│ │ └── SceneTestScript.lua
├── MFCwithD3D11
│ ├── MFCwithD3D11.rc
│ ├── res
│ │ ├── MFCwithD3D11.ico
│ │ ├── MFCwithD3D11.rc2
│ │ ├── MFCwithD3D11Doc.ico
│ │ └── ..svnbridge
│ │ │ ├── MFCwithD3D11.ico
│ │ │ ├── MFCwithD3D11.rc2
│ │ │ └── MFCwithD3D11Doc.ico
│ ├── packages.config
│ ├── stdafx.cpp
│ ├── targetver.h
│ └── Resource.h
├── BasicScenes
│ └── packages.config
├── BasicWindow
│ ├── packages.config
│ └── App.h
├── Glyphlets
│ ├── packages.config
│ └── App.h
├── BasicApplication
│ ├── packages.config
│ └── App.h
├── BasicScripting
│ └── packages.config
├── ImageProcessor
│ └── packages.config
├── KinectPlayground
│ └── packages.config
├── LightPrepass
│ ├── packages.config
│ └── AppSettings.cpp
├── MirrorMirror
│ ├── packages.config
│ └── ReflectiveSphereEntity.h
├── OculusRiftSample
│ └── packages.config
├── ParticleStorm
│ └── packages.config
├── RotatingCube
│ └── packages.config
├── SkinAndBones
│ ├── packages.config
│ └── App.h
├── VolumeRendering
│ ├── packages.config
│ └── App.h
├── WaterSimulationI
│ ├── packages.config
│ └── App.h
├── AmbientOcclusionI
│ ├── packages.config
│ └── AmbientOcclusionI_Desktop.vcxproj.filters
├── BasicComputeShader
│ └── packages.config
├── BasicTessellation
│ └── packages.config
├── DeferredRendering
│ ├── packages.config
│ └── AppSettings.cpp
├── ImmediateRenderer
│ └── packages.config
├── Kinect2Playground
│ ├── packages.config
│ └── App.h
├── TessellationParams
│ └── packages.config
├── ViewFromTheWindow
│ └── packages.config
├── CurvedPointNormalTriangles
│ └── packages.config
├── InterlockingTerrainTiles
│ └── packages.config
├── PhysicalRenderingSandbox
│ ├── packages.config
│ └── App.h
└── GlyphletViewerWPF
│ ├── App.config
│ ├── Properties
│ ├── Settings.settings
│ └── Settings.Designer.cs
│ ├── App.xaml
│ ├── MainWindow.xaml
│ └── App.xaml.cs
├── Dependencies
└── lua-5.1.4
│ ├── etc
│ ├── lua.ico
│ ├── lua.hpp
│ ├── lua.pc
│ ├── all.c
│ ├── min.c
│ ├── Makefile
│ ├── strict.lua
│ ├── README
│ └── luavs.bat
│ ├── doc
│ ├── cover.png
│ ├── logo.gif
│ ├── amazon.gif
│ ├── contents.html
│ ├── manual.css
│ ├── lua.css
│ └── readme.html
│ ├── test
│ ├── life.lua
│ ├── echo.lua
│ ├── hello.lua
│ ├── printf.lua
│ ├── env.lua
│ ├── luac.lua
│ ├── fibfor.lua
│ ├── readonly.lua
│ ├── table.lua
│ ├── cf.lua
│ ├── xd.lua
│ ├── globals.lua
│ ├── bisect.lua
│ ├── fib.lua
│ ├── factorial.lua
│ ├── trace-calls.lua
│ ├── sieve.lua
│ ├── trace-globals.lua
│ └── README
│ ├── src
│ ├── lapi.h
│ ├── linit.c
│ ├── lstring.h
│ ├── lundump.h
│ ├── ldebug.h
│ ├── ltm.h
│ ├── lualib.h
│ ├── lfunc.h
│ ├── lvm.h
│ └── ltable.h
│ └── README.md
├── Documentation
└── Hieroglyph 3 Rendering System.docx
├── Source
├── packages.config
├── Source.licenseheader
├── PCH.cpp
├── Task.cpp
├── Shape3D.cpp
├── ParameterWriter.cpp
├── PickRecord.cpp
├── DXGIOutput.cpp
├── DepthStencilViewDX11.cpp
├── UnorderedAccessViewDX11.cpp
├── PointIndices.cpp
├── Ray3f.cpp
├── MaterialManager.cpp
├── Triangle3f.cpp
├── HullShaderDX11.cpp
├── PixelShaderDX11.cpp
├── DomainShaderDX11.cpp
├── VertexShaderDX11.cpp
├── Intersector.cpp
├── ComputeShaderDX11.cpp
├── ByteAddressBufferDX11.cpp
├── GeometryShaderDX11.cpp
├── RenderTargetViewDX11.cpp
├── Animation.cpp
├── SwapChainDX11.cpp
├── DXGIAdapter.cpp
├── ShaderResourceViewDX11.cpp
├── StructuredBufferDX11.cpp
├── Segment3f.cpp
├── ResourceDX11.cpp
└── IndirectArgsBufferDX11.cpp
├── sdk_build.bat
├── .gitignore
├── License.txt
└── Include
├── Intersector.h
├── PickRecord.h
├── Lua
└── lualib.h
├── GlyphKinect
├── KinectPose.h
└── ArmsForwardPose.h
├── PointIndices.h
├── IScriptInterface.h
├── ActorGenerator.h
├── IController.inl
├── IWindowProc.h
├── LuaApp.h
├── Ray3f.h
├── Shape3D.h
├── EvtChar.h
├── Segment3f.h
├── EvtKeyUp.h
├── Triangle3f.h
├── LineIndices.h
├── Animation.h
├── EvtKeyDown.h
├── EvtMouseMove.h
├── GlyphRift
├── RiftController.inl
└── RiftManager.h
├── DXGIOutput.h
├── EvtMouseLeave.h
├── StructuredBufferDX11.h
├── ByteAddressBufferDX11.h
├── IndirectArgsBufferDX11.h
├── EvtMouseWheel.h
├── EvtMouseLButtonUp.h
├── EvtMouseMButtonUp.h
├── EvtMouseRButtonUp.h
├── TriangleIndices.h
├── BezierCubic.h
├── SamplerStateConfigDX11.h
├── EvtFrameStart.h
├── EvtMouseLButtonDown.h
└── EvtMouseMButtonDown.h
/Extensions/GlyphCLR/app.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Extensions/GlyphCLR/app.rc
--------------------------------------------------------------------------------
/Extensions/GlyphCLR/app.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Extensions/GlyphCLR/app.ico
--------------------------------------------------------------------------------
/Applications/Data/Models/bowl.ms3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Models/bowl.ms3d
--------------------------------------------------------------------------------
/Applications/Data/Models/box.ms3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Models/box.ms3d
--------------------------------------------------------------------------------
/Applications/Data/Textures/Hex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Textures/Hex.png
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/etc/lua.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Dependencies/lua-5.1.4/etc/lua.ico
--------------------------------------------------------------------------------
/Applications/Data/Models/Screen.ms3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Models/Screen.ms3d
--------------------------------------------------------------------------------
/Applications/Data/Models/TBone.ms3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Models/TBone.ms3d
--------------------------------------------------------------------------------
/Applications/Data/Models/Walker.ms3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Models/Walker.ms3d
--------------------------------------------------------------------------------
/Applications/Data/Models/hedra.ms3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Models/hedra.ms3d
--------------------------------------------------------------------------------
/Applications/Data/Models/spring.ms3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Models/spring.ms3d
--------------------------------------------------------------------------------
/Applications/Data/Textures/Tiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Textures/Tiles.png
--------------------------------------------------------------------------------
/Applications/Data/Textures/fruit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Textures/fruit.png
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/doc/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Dependencies/lua-5.1.4/doc/cover.png
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/doc/logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Dependencies/lua-5.1.4/doc/logo.gif
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/life.lua:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Dependencies/lua-5.1.4/test/life.lua
--------------------------------------------------------------------------------
/Extensions/GlyphCLR/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by app.rc
4 |
--------------------------------------------------------------------------------
/Applications/Data/Models/small_box.ms3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Models/small_box.ms3d
--------------------------------------------------------------------------------
/Applications/Data/Textures/Outcrop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Textures/Outcrop.png
--------------------------------------------------------------------------------
/Applications/Data/Textures/Particle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Textures/Particle.png
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/doc/amazon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Dependencies/lua-5.1.4/doc/amazon.gif
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/echo.lua:
--------------------------------------------------------------------------------
1 | -- echo command line arguments
2 |
3 | for i=0,table.getn(arg) do
4 | print(i,arg[i])
5 | end
6 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/hello.lua:
--------------------------------------------------------------------------------
1 | -- the first program in every language
2 |
3 | io.write("Hello world, from ",_VERSION,"!\n")
4 |
--------------------------------------------------------------------------------
/Applications/Data/Models/ScreenFrame.ms3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Models/ScreenFrame.ms3d
--------------------------------------------------------------------------------
/Applications/Data/Models/UnitSphere2.ms3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Models/UnitSphere2.ms3d
--------------------------------------------------------------------------------
/Applications/Data/Textures/EyeOfHorus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Textures/EyeOfHorus.png
--------------------------------------------------------------------------------
/Applications/Data/Textures/Hex_Normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Textures/Hex_Normal.png
--------------------------------------------------------------------------------
/Applications/MFCwithD3D11/MFCwithD3D11.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/MFCwithD3D11/MFCwithD3D11.rc
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/doc/contents.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Dependencies/lua-5.1.4/doc/contents.html
--------------------------------------------------------------------------------
/Applications/Data/Models/Sample_Scene.ms3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Models/Sample_Scene.ms3d
--------------------------------------------------------------------------------
/Applications/Data/Textures/EyeOfHorus_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Textures/EyeOfHorus_128.png
--------------------------------------------------------------------------------
/Applications/MFCwithD3D11/res/MFCwithD3D11.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/MFCwithD3D11/res/MFCwithD3D11.ico
--------------------------------------------------------------------------------
/Applications/MFCwithD3D11/res/MFCwithD3D11.rc2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/MFCwithD3D11/res/MFCwithD3D11.rc2
--------------------------------------------------------------------------------
/Applications/Data/Models/MeshedReconstruction.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Models/MeshedReconstruction.stl
--------------------------------------------------------------------------------
/Applications/Data/Textures/TerrainHeightMap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Textures/TerrainHeightMap.png
--------------------------------------------------------------------------------
/Applications/Data/Textures/TerrainHeightMap2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Textures/TerrainHeightMap2.png
--------------------------------------------------------------------------------
/Applications/Data/Textures/TropicalSunnyDay.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Textures/TropicalSunnyDay.dds
--------------------------------------------------------------------------------
/Applications/MFCwithD3D11/res/MFCwithD3D11Doc.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/MFCwithD3D11/res/MFCwithD3D11Doc.ico
--------------------------------------------------------------------------------
/Documentation/Hieroglyph 3 Rendering System.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Documentation/Hieroglyph 3 Rendering System.docx
--------------------------------------------------------------------------------
/Applications/Data/Shaders/AmbientOcclusionCS_16.hlsl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Shaders/AmbientOcclusionCS_16.hlsl
--------------------------------------------------------------------------------
/Applications/Data/Shaders/AmbientOcclusionCS_32.hlsl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Shaders/AmbientOcclusionCS_32.hlsl
--------------------------------------------------------------------------------
/Applications/Data/Textures/EyeOfHorus_128_Blurred.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/Hieroglyph-v3/HEAD/Applications/Data/Textures/EyeOfHorus_128_Blurred.png
--------------------------------------------------------------------------------
/Source/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Extensions/GlyphCLR/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/BasicScenes/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/BasicWindow/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/Glyphlets/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/BasicApplication/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/BasicScripting/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/ImageProcessor/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/KinectPlayground/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/LightPrepass/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/MFCwithD3D11/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/MirrorMirror/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/OculusRiftSample/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/ParticleStorm/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/RotatingCube/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/SkinAndBones/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/VolumeRendering/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/WaterSimulationI/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/AmbientOcclusionI/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/BasicComputeShader/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/BasicTessellation/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/DeferredRendering/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/ImmediateRenderer/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/Kinect2Playground/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/TessellationParams/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/ViewFromTheWindow/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/CurvedPointNormalTriangles/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/InterlockingTerrainTiles/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Applications/PhysicalRenderingSandbox/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/doc/manual.css:
--------------------------------------------------------------------------------
1 | h3 code {
2 | font-family: inherit ;
3 | }
4 |
5 | pre {
6 | font-size: 105% ;
7 | }
8 |
9 | span.apii {
10 | float: right ;
11 | font-family: inherit ;
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/Extensions/GlyphCLR/_Stdafx.h:
--------------------------------------------------------------------------------
1 | // stdafx.h : include file for standard system include files,
2 | // or project specific include files that are used frequently,
3 | // but are changed infrequently
4 |
5 | #pragma once
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/printf.lua:
--------------------------------------------------------------------------------
1 | -- an implementation of printf
2 |
3 | function printf(...)
4 | io.write(string.format(...))
5 | end
6 |
7 | printf("Hello %s from %s on %s\n",os.getenv"USER" or "there",_VERSION,os.date())
8 |
--------------------------------------------------------------------------------
/Applications/GlyphletViewerWPF/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/env.lua:
--------------------------------------------------------------------------------
1 | -- read environment variables as if they were global variables
2 |
3 | local f=function (t,i) return os.getenv(i) end
4 | setmetatable(getfenv(),{__index=f})
5 |
6 | -- an example
7 | print(a,USER,PATH)
8 |
--------------------------------------------------------------------------------
/Extensions/GlyphCLR/_Stdafx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // GlyphCLR.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/etc/lua.hpp:
--------------------------------------------------------------------------------
1 | // lua.hpp
2 | // Lua header files for C++
3 | // <> not supplied automatically because Lua also compiles as C++
4 |
5 | extern "C" {
6 | #include "lua.h"
7 | #include "lualib.h"
8 | #include "lauxlib.h"
9 | }
10 |
--------------------------------------------------------------------------------
/Applications/GlyphletViewerWPF/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Applications/MFCwithD3D11/stdafx.cpp:
--------------------------------------------------------------------------------
1 |
2 | // stdafx.cpp : source file that includes just the standard includes
3 | // MFCwithD3D11.pch will be the pre-compiled header
4 | // stdafx.obj will contain the pre-compiled type information
5 |
6 | #include "stdafx.h"
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/luac.lua:
--------------------------------------------------------------------------------
1 | -- bare-bones luac in Lua
2 | -- usage: lua luac.lua file.lua
3 |
4 | assert(arg[1]~=nil and arg[2]==nil,"usage: lua luac.lua file.lua")
5 | f=assert(io.open("luac.out","wb"))
6 | assert(f:write(string.dump(assert(loadfile(arg[1])))))
7 | assert(f:close())
8 |
--------------------------------------------------------------------------------
/Applications/MFCwithD3D11/res/..svnbridge/MFCwithD3D11.ico:
--------------------------------------------------------------------------------
1 | svn:mime-typeapplication/octet-stream
--------------------------------------------------------------------------------
/Applications/MFCwithD3D11/res/..svnbridge/MFCwithD3D11.rc2:
--------------------------------------------------------------------------------
1 | svn:mime-typeapplication/octet-stream
--------------------------------------------------------------------------------
/Applications/MFCwithD3D11/res/..svnbridge/MFCwithD3D11Doc.ico:
--------------------------------------------------------------------------------
1 | svn:mime-typeapplication/octet-stream
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/fibfor.lua:
--------------------------------------------------------------------------------
1 | -- example of for with generator functions
2 |
3 | function generatefib (n)
4 | return coroutine.wrap(function ()
5 | local a,b = 1, 1
6 | while a <= n do
7 | coroutine.yield(a)
8 | a, b = b, a+b
9 | end
10 | end)
11 | end
12 |
13 | for i in generatefib(1000) do print(i) end
14 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/readonly.lua:
--------------------------------------------------------------------------------
1 | -- make global variables readonly
2 |
3 | local f=function (t,i) error("cannot redefine global variable `"..i.."'",2) end
4 | local g={}
5 | local G=getfenv()
6 | setmetatable(g,{__index=G,__newindex=f})
7 | setfenv(1,g)
8 |
9 | -- an example
10 | rawset(g,"x",3)
11 | x=2
12 | y=1 -- cannot redefine `y'
13 |
--------------------------------------------------------------------------------
/Applications/MFCwithD3D11/targetver.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | // Including SDKDDKVer.h defines the highest available Windows platform.
4 |
5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
7 |
8 | #include
9 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/src/lapi.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** $Id: lapi.h,v 2.2.1.1 2007/12/27 13:02:25 roberto Exp $
3 | ** Auxiliary functions from Lua API
4 | ** See Copyright Notice in lua.h
5 | */
6 |
7 | #ifndef lapi_h
8 | #define lapi_h
9 |
10 |
11 | #include "lobject.h"
12 |
13 |
14 | LUAI_FUNC void luaA_pushobject (lua_State *L, const TValue *o);
15 |
16 | #endif
17 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/table.lua:
--------------------------------------------------------------------------------
1 | -- make table, grouping all data for the same item
2 | -- input is 2 columns (item, data)
3 |
4 | local A
5 | while 1 do
6 | local l=io.read()
7 | if l==nil then break end
8 | local _,_,a,b=string.find(l,'"?([_%w]+)"?%s*(.*)$')
9 | if a~=A then A=a io.write("\n",a,":") end
10 | io.write(" ",b)
11 | end
12 | io.write("\n")
13 |
--------------------------------------------------------------------------------
/Applications/GlyphletViewerWPF/App.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/cf.lua:
--------------------------------------------------------------------------------
1 | -- temperature conversion table (celsius to farenheit)
2 |
3 | for c0=-20,50-1,10 do
4 | io.write("C ")
5 | for c=c0,c0+10-1 do
6 | io.write(string.format("%3.0f ",c))
7 | end
8 | io.write("\n")
9 |
10 | io.write("F ")
11 | for c=c0,c0+10-1 do
12 | f=(9/5)*c+32
13 | io.write(string.format("%3.0f ",f))
14 | end
15 | io.write("\n\n")
16 | end
17 |
--------------------------------------------------------------------------------
/Applications/AmbientOcclusionI/AmbientOcclusionI_Desktop.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/xd.lua:
--------------------------------------------------------------------------------
1 | -- hex dump
2 | -- usage: lua xd.lua < file
3 |
4 | local offset=0
5 | while true do
6 | local s=io.read(16)
7 | if s==nil then return end
8 | io.write(string.format("%08X ",offset))
9 | string.gsub(s,"(.)",
10 | function (c) io.write(string.format("%02X ",string.byte(c))) end)
11 | io.write(string.rep(" ",3*(16-string.len(s))))
12 | io.write(" ",string.gsub(s,"%c","."),"\n")
13 | offset=offset+16
14 | end
15 |
--------------------------------------------------------------------------------
/sdk_build.bat:
--------------------------------------------------------------------------------
1 | REM This script must be run from the VS developers command prompt!
2 |
3 | msbuild Hieroglyph3_Desktop_SDK.sln /t:Rebuild /p:Configuration=Debug /m:4 /p:Platform=Win32
4 | msbuild Hieroglyph3_Desktop_SDK.sln /t:Rebuild /p:Configuration=Release /m:4 /p:Platform=Win32
5 | msbuild Hieroglyph3_Desktop_SDK.sln /t:Rebuild /p:Configuration=Debug /m:4 /p:Platform=x64
6 | msbuild Hieroglyph3_Desktop_SDK.sln /t:Rebuild /p:Configuration=Release /m:4 /p:Platform=x64
7 |
8 | pause
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/globals.lua:
--------------------------------------------------------------------------------
1 | -- reads luac listings and reports global variable usage
2 | -- lines where a global is written to are marked with "*"
3 | -- typical usage: luac -p -l file.lua | lua globals.lua | sort | lua table.lua
4 |
5 | while 1 do
6 | local s=io.read()
7 | if s==nil then break end
8 | local ok,_,l,op,g=string.find(s,"%[%-?(%d*)%]%s*([GS])ETGLOBAL.-;%s+(.*)$")
9 | if ok then
10 | if op=="S" then op="*" else op="" end
11 | io.write(g,"\t",l,op,"\n")
12 | end
13 | end
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | packages/
2 | *.tmp
3 | #Ignore Visual studio files
4 | *.sdf
5 | *.suo
6 | *.user
7 | #Ignore incremental build information
8 | ipch/
9 | #Ignore Intellisence database
10 | Ignition.opensdf
11 | #ignore thumbnails created by windows
12 | Thumbs.db
13 | #Ignore files build by Visual Studio
14 | *.exe
15 | *.user
16 | *.aps
17 | *.pch
18 | *.vspscc
19 | *_i.c
20 | *_p.c
21 | *.ncb
22 | *.suo
23 | *.tlb
24 | *.tlh
25 | *.bak
26 | *.cache
27 | *.ilk
28 | *.log
29 | *.sbr
30 | *.opensdf
31 | *.blend1
32 | *.xcf
33 |
--------------------------------------------------------------------------------
/Source/Source.licenseheader:
--------------------------------------------------------------------------------
1 | extensions: .cpp .h .hlsl
2 | //--------------------------------------------------------------------------------
3 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
4 | // under the MIT License, available in the root of this distribution and
5 | // at the following URL:
6 | //
7 | // http://www.opensource.org/licenses/mit-license.php
8 | //
9 | // Copyright (c) Jason Zink
10 | //--------------------------------------------------------------------------------
11 |
--------------------------------------------------------------------------------
/Applications/MFCwithD3D11/Resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by MFCwithD3D11.rc
4 | //
5 | #define IDD_ABOUTBOX 100
6 | #define IDP_OLE_INIT_FAILED 100
7 | #define IDR_MAINFRAME 128
8 | #define IDR_MFCwithD3D11TYPE 130
9 |
10 | // Next default values for new objects
11 | //
12 | #ifdef APSTUDIO_INVOKED
13 | #ifndef APSTUDIO_READONLY_SYMBOLS
14 | #define _APS_NEXT_RESOURCE_VALUE 310
15 | #define _APS_NEXT_CONTROL_VALUE 1000
16 | #define _APS_NEXT_SYMED_VALUE 310
17 | #define _APS_NEXT_COMMAND_VALUE 32771
18 | #endif
19 | #endif
20 |
--------------------------------------------------------------------------------
/Applications/GlyphletViewerWPF/MainWindow.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/DepthPS.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // DepthPS.hlsl
3 | //
4 | // This pixel shader outputs the linear view space depth to the render target.
5 | // The linear space is used to avoid precision issues on the later calculations.
6 | //
7 | // Copyright (C) 2009 Jason Zink. All rights reserved.
8 | //--------------------------------------------------------------------------------
9 |
10 |
11 | struct VS_OUTPUT
12 | {
13 | float4 position : SV_Position;
14 | float4 depth : COLOR;
15 | };
16 |
17 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
18 | {
19 | return input.depth;
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/Applications/Data/Models/CPNAdaptiveTest.ply:
--------------------------------------------------------------------------------
1 | ply
2 | format ascii 1.0
3 | comment Created by Jack Hoxley
4 | element vertex 6
5 | property float x
6 | property float y
7 | property float z
8 | property float nx
9 | property float ny
10 | property float nz
11 | element face 4
12 | property list uchar uint vertex_indices
13 | end_header
14 | -0.500000 0.000000 0.000000 0.000000 1.000000 0.000000
15 | 0.500000 0.000000 0.000000 0.000000 1.000000 0.000000
16 | 0.00000 0.000000 1.000000 0.000000 1.000000 0.000000
17 | -1.000000 0.000000 1.000000 0.000000 1.000000 0.000000
18 | 0.000000 0.000000 -1.000000 0.000000 1.000000 0.000000
19 | 1.000000 0.000000 1.000000 0.000000 1.000000 0.000000
20 | 3 0 1 2
21 | 3 4 1 0
22 | 3 1 5 2
23 | 3 0 2 3
24 |
25 |
--------------------------------------------------------------------------------
/Source/PCH.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // PCH.cpp
13 | //
14 | // Used for generated a precompiled header file
15 | //--------------------------------------------------------------------------------
16 | #include "PCH.h"
--------------------------------------------------------------------------------
/Applications/Data/Shaders/TextureVS.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // TextureVS.hlsl
3 | //
4 | // This vertex shader serves as a pass through for pre-transformed vertices. This
5 | // is typically used for full screen quad rendering.
6 | //
7 | // Copyright (C) 2010 Jason Zink. All rights reserved.
8 | //--------------------------------------------------------------------------------
9 |
10 | struct VS_INPUT
11 | {
12 | float4 position : POSITION;
13 | };
14 |
15 | struct VS_OUTPUT
16 | {
17 | float4 position : SV_Position;
18 | };
19 |
20 |
21 | VS_OUTPUT VSMAIN( in VS_INPUT input )
22 | {
23 | VS_OUTPUT output;
24 |
25 | output.position = input.position;
26 |
27 | return output;
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/bisect.lua:
--------------------------------------------------------------------------------
1 | -- bisection method for solving non-linear equations
2 |
3 | delta=1e-6 -- tolerance
4 |
5 | function bisect(f,a,b,fa,fb)
6 | local c=(a+b)/2
7 | io.write(n," c=",c," a=",a," b=",b,"\n")
8 | if c==a or c==b or math.abs(a-b) ColorMap00 : register( t0 );
11 | SamplerState LinearSampler : register( s0 );
12 |
13 |
14 | struct VS_OUTPUT
15 | {
16 | float4 position : SV_Position;
17 | float2 tex : TEXCOORD0;
18 | };
19 |
20 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
21 | {
22 | float4 vValues = ColorMap00.Sample( LinearSampler, input.tex );
23 |
24 | return( vValues );
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/ObjectTexturedPS.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // FinalPS.hlsl
3 | //
4 | // This pixel shader samples the ambient occlusion buffer and uses its value to
5 | // modify the ambient term.
6 | //
7 | // Copyright (C) 2009 Jason Zink. All rights reserved.
8 | //--------------------------------------------------------------------------------
9 |
10 | Texture2D ColorTexture : register( t0 );
11 | SamplerState LinearSampler : register( s0 );
12 |
13 |
14 | struct VS_OUTPUT
15 | {
16 | float4 position : SV_Position;
17 | float2 tex : TEXCOORD0;
18 | float3 normal : NORMAL;
19 | };
20 |
21 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
22 | {
23 | float4 vValues = ColorTexture.Sample( LinearSampler, input.tex );
24 |
25 | return( vValues );
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/etc/all.c:
--------------------------------------------------------------------------------
1 | /*
2 | * all.c -- Lua core, libraries and interpreter in a single file
3 | */
4 |
5 | #define luaall_c
6 |
7 | #include "lapi.c"
8 | #include "lcode.c"
9 | #include "ldebug.c"
10 | #include "ldo.c"
11 | #include "ldump.c"
12 | #include "lfunc.c"
13 | #include "lgc.c"
14 | #include "llex.c"
15 | #include "lmem.c"
16 | #include "lobject.c"
17 | #include "lopcodes.c"
18 | #include "lparser.c"
19 | #include "lstate.c"
20 | #include "lstring.c"
21 | #include "ltable.c"
22 | #include "ltm.c"
23 | #include "lundump.c"
24 | #include "lvm.c"
25 | #include "lzio.c"
26 |
27 | #include "lauxlib.c"
28 | #include "lbaselib.c"
29 | #include "ldblib.c"
30 | #include "liolib.c"
31 | #include "linit.c"
32 | #include "lmathlib.c"
33 | #include "loadlib.c"
34 | #include "loslib.c"
35 | #include "lstrlib.c"
36 | #include "ltablib.c"
37 |
38 | #include "lua.c"
39 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/factorial.lua:
--------------------------------------------------------------------------------
1 | -- function closures are powerful
2 |
3 | -- traditional fixed-point operator from functional programming
4 | Y = function (g)
5 | local a = function (f) return f(f) end
6 | return a(function (f)
7 | return g(function (x)
8 | local c=f(f)
9 | return c(x)
10 | end)
11 | end)
12 | end
13 |
14 |
15 | -- factorial without recursion
16 | F = function (f)
17 | return function (n)
18 | if n == 0 then return 1
19 | else return n*f(n-1) end
20 | end
21 | end
22 |
23 | factorial = Y(F) -- factorial is the fixed point of F
24 |
25 | -- now test it
26 | function test(x)
27 | io.write(x,"! = ",factorial(x),"\n")
28 | end
29 |
30 | for n=0,16 do
31 | test(n)
32 | end
33 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/InvertColorCS.hlsl:
--------------------------------------------------------------------------------
1 | //
2 | // InvertColorCS.hlsl
3 | //
4 | // Copyright (C) 2010 Jason Zink
5 |
6 | Texture2D InputMap : register( t0 );
7 | RWTexture2D OutputMap : register( u0 );
8 |
9 | // Group size
10 | #define size_x 20
11 | #define size_y 20
12 |
13 | // Declare one thread for each texel of the input texture.
14 | [numthreads(size_x, size_y, 1)]
15 |
16 | void CSMAIN( uint3 GroupID : SV_GroupID, uint3 DispatchThreadID : SV_DispatchThreadID, uint3 GroupThreadID : SV_GroupThreadID, uint GroupIndex : SV_GroupIndex )
17 | {
18 | int3 texturelocation = int3( 0, 0, 0 );
19 | texturelocation.x = GroupID.x * size_x + GroupThreadID.x;
20 | texturelocation.y = GroupID.y * size_y + GroupThreadID.y;
21 |
22 | float4 Color = InputMap.Load(texturelocation);
23 |
24 | OutputMap[texturelocation.xy] = float4( 1.0f, 1.0f, 1.0f, 1.0f ) - Color;
25 | }
26 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/trace-calls.lua:
--------------------------------------------------------------------------------
1 | -- trace calls
2 | -- example: lua -ltrace-calls bisect.lua
3 |
4 | local level=0
5 |
6 | local function hook(event)
7 | local t=debug.getinfo(3)
8 | io.write(level," >>> ",string.rep(" ",level))
9 | if t~=nil and t.currentline>=0 then io.write(t.short_src,":",t.currentline," ") end
10 | t=debug.getinfo(2)
11 | if event=="call" then
12 | level=level+1
13 | else
14 | level=level-1 if level<0 then level=0 end
15 | end
16 | if t.what=="main" then
17 | if event=="call" then
18 | io.write("begin ",t.short_src)
19 | else
20 | io.write("end ",t.short_src)
21 | end
22 | elseif t.what=="Lua" then
23 | -- table.foreach(t,print)
24 | io.write(event," ",t.name or "(Lua)"," <",t.linedefined,":",t.short_src,">")
25 | else
26 | io.write(event," ",t.name or "(C)"," [",t.what,"] ")
27 | end
28 | io.write("\n")
29 | end
30 |
31 | debug.sethook(hook,"cr")
32 | level=0
33 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/sieve.lua:
--------------------------------------------------------------------------------
1 | -- the sieve of of Eratosthenes programmed with coroutines
2 | -- typical usage: lua -e N=1000 sieve.lua | column
3 |
4 | -- generate all the numbers from 2 to n
5 | function gen (n)
6 | return coroutine.wrap(function ()
7 | for i=2,n do coroutine.yield(i) end
8 | end)
9 | end
10 |
11 | -- filter the numbers generated by `g', removing multiples of `p'
12 | function filter (p, g)
13 | return coroutine.wrap(function ()
14 | while 1 do
15 | local n = g()
16 | if n == nil then return end
17 | if math.mod(n, p) ~= 0 then coroutine.yield(n) end
18 | end
19 | end)
20 | end
21 |
22 | N=N or 1000 -- from command line
23 | x = gen(N) -- generate primes up to N
24 | while 1 do
25 | local n = x() -- pick a number until done
26 | if n == nil then break end
27 | print(n) -- must be a prime number
28 | x = filter(n, x) -- now remove its multiples
29 | end
30 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/trace-globals.lua:
--------------------------------------------------------------------------------
1 | -- trace assigments to global variables
2 |
3 | do
4 | -- a tostring that quotes strings. note the use of the original tostring.
5 | local _tostring=tostring
6 | local tostring=function(a)
7 | if type(a)=="string" then
8 | return string.format("%q",a)
9 | else
10 | return _tostring(a)
11 | end
12 | end
13 |
14 | local log=function (name,old,new)
15 | local t=debug.getinfo(3,"Sl")
16 | local line=t.currentline
17 | io.write(t.short_src)
18 | if line>=0 then io.write(":",line) end
19 | io.write(": ",name," is now ",tostring(new)," (was ",tostring(old),")","\n")
20 | end
21 |
22 | local g={}
23 | local set=function (t,name,value)
24 | log(name,g[name],value)
25 | g[name]=value
26 | end
27 | setmetatable(getfenv(),{__index=g,__newindex=set})
28 | end
29 |
30 | -- an example
31 |
32 | a=1
33 | b=2
34 | a=10
35 | b=20
36 | b=nil
37 | b=200
38 | print(a,b,c)
39 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/src/linit.c:
--------------------------------------------------------------------------------
1 | /*
2 | ** $Id: linit.c,v 1.14.1.1 2007/12/27 13:02:25 roberto Exp $
3 | ** Initialization of libraries for lua.c
4 | ** See Copyright Notice in lua.h
5 | */
6 |
7 |
8 | #define linit_c
9 | #define LUA_LIB
10 |
11 | #include "lua.h"
12 |
13 | #include "lualib.h"
14 | #include "lauxlib.h"
15 |
16 |
17 | static const luaL_Reg lualibs[] = {
18 | {"", luaopen_base},
19 | {LUA_LOADLIBNAME, luaopen_package},
20 | {LUA_TABLIBNAME, luaopen_table},
21 | {LUA_IOLIBNAME, luaopen_io},
22 | {LUA_OSLIBNAME, luaopen_os},
23 | {LUA_STRLIBNAME, luaopen_string},
24 | {LUA_MATHLIBNAME, luaopen_math},
25 | {LUA_DBLIBNAME, luaopen_debug},
26 | {NULL, NULL}
27 | };
28 |
29 |
30 | LUALIB_API void luaL_openlibs (lua_State *L) {
31 | const luaL_Reg *lib = lualibs;
32 | for (; lib->func; lib++) {
33 | lua_pushcfunction(L, lib->func);
34 | lua_pushstring(L, lib->name);
35 | lua_call(L, 1, 0);
36 | }
37 | }
38 |
39 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/FinalPS.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // FinalPS.hlsl
3 | //
4 | // This pixel shader samples the ambient occlusion buffer and uses its value to
5 | // modify the ambient term.
6 | //
7 | // Copyright (C) 2009 Jason Zink. All rights reserved.
8 | //--------------------------------------------------------------------------------
9 |
10 | Texture2D AmbientOcclusionBuffer : register( t0 );
11 |
12 | // The total texture size
13 | #define totalsize_x 640
14 | #define totalsize_y 480
15 |
16 | struct VS_OUTPUT
17 | {
18 | float4 position : SV_Position;
19 | float3 normal : NORMAL;
20 | };
21 |
22 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
23 | {
24 | float fOcclusion = AmbientOcclusionBuffer[ int2( input.position.xy ) ]; //( int3( input.position.xy, 0 ) ).x;
25 |
26 | return( float4( fOcclusion, fOcclusion, fOcclusion, fOcclusion ) );
27 | }
28 |
29 |
--------------------------------------------------------------------------------
/Applications/LightPrepass/AppSettings.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // AppSettings
13 | //
14 | //--------------------------------------------------------------------------------
15 | #include "AppSettings.h"
16 | //--------------------------------------------------------------------------------
17 | LightMode::Settings LightMode::Value = LightMode::Lights3x3x3;
18 | //--------------------------------------------------------------------------------
19 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/src/lstring.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** $Id: lstring.h,v 1.43.1.1 2007/12/27 13:02:25 roberto Exp $
3 | ** String table (keep all strings handled by Lua)
4 | ** See Copyright Notice in lua.h
5 | */
6 |
7 | #ifndef lstring_h
8 | #define lstring_h
9 |
10 |
11 | #include "lgc.h"
12 | #include "lobject.h"
13 | #include "lstate.h"
14 |
15 |
16 | #define sizestring(s) (sizeof(union TString)+((s)->len+1)*sizeof(char))
17 |
18 | #define sizeudata(u) (sizeof(union Udata)+(u)->len)
19 |
20 | #define luaS_new(L, s) (luaS_newlstr(L, s, strlen(s)))
21 | #define luaS_newliteral(L, s) (luaS_newlstr(L, "" s, \
22 | (sizeof(s)/sizeof(char))-1))
23 |
24 | #define luaS_fix(s) l_setbit((s)->tsv.marked, FIXEDBIT)
25 |
26 | LUAI_FUNC void luaS_resize (lua_State *L, int newsize);
27 | LUAI_FUNC Udata *luaS_newudata (lua_State *L, size_t s, Table *e);
28 | LUAI_FUNC TString *luaS_newlstr (lua_State *L, const char *str, size_t l);
29 |
30 |
31 | #endif
32 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/etc/min.c:
--------------------------------------------------------------------------------
1 | /*
2 | * min.c -- a minimal Lua interpreter
3 | * loads stdin only with minimal error handling.
4 | * no interaction, and no standard library, only a "print" function.
5 | */
6 |
7 | #include
8 |
9 | #include "lua.h"
10 | #include "lauxlib.h"
11 |
12 | static int print(lua_State *L)
13 | {
14 | int n=lua_gettop(L);
15 | int i;
16 | for (i=1; i<=n; i++)
17 | {
18 | if (i>1) printf("\t");
19 | if (lua_isstring(L,i))
20 | printf("%s",lua_tostring(L,i));
21 | else if (lua_isnil(L,i))
22 | printf("%s","nil");
23 | else if (lua_isboolean(L,i))
24 | printf("%s",lua_toboolean(L,i) ? "true" : "false");
25 | else
26 | printf("%s:%p",luaL_typename(L,i),lua_topointer(L,i));
27 | }
28 | printf("\n");
29 | return 0;
30 | }
31 |
32 | int main(void)
33 | {
34 | lua_State *L=lua_open();
35 | lua_register(L,"print",print);
36 | if (luaL_dofile(L,NULL)!=0) fprintf(stderr,"%s\n",lua_tostring(L,-1));
37 | lua_close(L);
38 | return 0;
39 | }
40 |
--------------------------------------------------------------------------------
/Applications/Data/Models/BoxWithBadNormals.ply:
--------------------------------------------------------------------------------
1 | ply
2 | format ascii 1.0
3 | comment Created by Jack Hoxley
4 | element vertex 8
5 | property float x
6 | property float y
7 | property float z
8 | property float nx
9 | property float ny
10 | property float nz
11 | element face 12
12 | property list uchar uint vertex_indices
13 | end_header
14 | 0.500000 0.500000 0.500000 0.5773502 0.5773502 0.5773502
15 | -0.500000 0.500000 0.500000 -0.5773502 0.5773502 0.5773502
16 | 0.500000 -0.500000 0.500000 0.5773502 -0.5773502 0.5773502
17 | -0.500000 -0.500000 0.500000 -0.5773502 -0.5773502 0.5773502
18 | 0.500000 0.500000 -0.500000 0.5773502 0.5773502 -0.5773502
19 | -0.500000 0.500000 -0.500000 -0.5773502 0.5773502 -0.5773502
20 | 0.500000 -0.500000 -0.500000 0.5773502 -0.5773502 -0.5773502
21 | -0.500000 -0.500000 -0.500000 -0.5773502 -0.5773502 -0.5773502
22 | 3 1 0 4
23 | 3 4 5 1
24 | 3 5 4 6
25 | 3 6 7 5
26 | 3 2 4 0
27 | 3 2 6 4
28 | 3 0 1 2
29 | 3 1 3 2
30 | 3 1 5 3
31 | 3 5 7 3
32 | 3 2 3 7
33 | 3 7 6 2
34 |
35 |
--------------------------------------------------------------------------------
/Extensions/GlyphKinect/KinectPose.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 | #include "GlyphKinect/KinectPose.h"
11 | #include "Log.h"
12 | //--------------------------------------------------------------------------------
13 | using namespace Glyph3;
14 | //--------------------------------------------------------------------------------
15 | KinectPose::KinectPose(void)
16 | {
17 | }
18 | //--------------------------------------------------------------------------------
19 | KinectPose::~KinectPose(void)
20 | {
21 | }
22 | //--------------------------------------------------------------------------------
23 |
--------------------------------------------------------------------------------
/Extensions/GlyphWPF/GlyphWPF.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 |
14 |
15 | Header Files
16 |
17 |
18 |
19 |
20 | Source Files
21 |
22 |
23 | Source Files
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/doc/readme.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Lua documentation
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Documentation
13 |
14 |
15 | This is the documentation included in the source distribution of Lua 5.1.4.
16 |
17 |
25 |
26 | Lua's
27 | official web site
28 | contains updated documentation,
29 | especially the
30 | reference manual.
31 |
32 |
33 |
34 |
35 | Last update:
36 | Tue Aug 12 14:46:07 BRT 2008
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/Source/Task.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "Task.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | Task::Task( )
18 | {
19 | }
20 | //--------------------------------------------------------------------------------
21 | Task::~Task( )
22 | {
23 | }
24 | //--------------------------------------------------------------------------------
25 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/FullscreenColor.hlsl:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | cbuffer FullscreenObjectProperties
3 | {
4 | float4 ObjectColor;
5 | };
6 | //-----------------------------------------------------------------------------
7 | struct VS_INPUT
8 | {
9 | float3 position : POSITION;
10 | };
11 |
12 | struct VS_OUTPUT
13 | {
14 | float4 position : SV_POSITION;
15 | float4 color : COLOR;
16 | };
17 | //-----------------------------------------------------------------------------
18 | VS_OUTPUT VSMAIN( in VS_INPUT v )
19 | {
20 | VS_OUTPUT o = (VS_OUTPUT)0;
21 |
22 | // Transform the new position to clipspace.
23 | o.position = float4( v.position, 1.0f );
24 | o.color = ObjectColor;
25 |
26 | return o;
27 | }
28 | //-----------------------------------------------------------------------------
29 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
30 | {
31 | float4 color = input.color;
32 |
33 | return( color );
34 | }
35 | //-----------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Source/Shape3D.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "Shape3D.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | Shape3D::Shape3D( )
18 | {
19 | }
20 | //--------------------------------------------------------------------------------
21 | Shape3D::~Shape3D()
22 | {
23 | }
24 | //--------------------------------------------------------------------------------
25 |
--------------------------------------------------------------------------------
/Applications/GlyphletViewerWPF/App.xaml.cs:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 | using System;
11 | using System.Collections.Generic;
12 | using System.Configuration;
13 | using System.Data;
14 | using System.Linq;
15 | using System.Threading.Tasks;
16 | using System.Windows;
17 | //--------------------------------------------------------------------------------
18 | namespace GlyphletViewerWPF
19 | {
20 | ///
21 | /// Interaction logic for App.xaml
22 | ///
23 | public partial class App : Application
24 | {
25 | }
26 | }
27 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/src/lundump.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** $Id: lundump.h,v 1.37.1.1 2007/12/27 13:02:25 roberto Exp $
3 | ** load precompiled Lua chunks
4 | ** See Copyright Notice in lua.h
5 | */
6 |
7 | #ifndef lundump_h
8 | #define lundump_h
9 |
10 | #include "lobject.h"
11 | #include "lzio.h"
12 |
13 | /* load one chunk; from lundump.c */
14 | LUAI_FUNC Proto* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff, const char* name);
15 |
16 | /* make header; from lundump.c */
17 | LUAI_FUNC void luaU_header (char* h);
18 |
19 | /* dump one chunk; from ldump.c */
20 | LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip);
21 |
22 | #ifdef luac_c
23 | /* print one chunk; from print.c */
24 | LUAI_FUNC void luaU_print (const Proto* f, int full);
25 | #endif
26 |
27 | /* for header of binary files -- this is Lua 5.1 */
28 | #define LUAC_VERSION 0x51
29 |
30 | /* for header of binary files -- this is the official format */
31 | #define LUAC_FORMAT 0
32 |
33 | /* size of header of binary files */
34 | #define LUAC_HEADERSIZE 12
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/Applications/Data/Models/CPNTest.ply:
--------------------------------------------------------------------------------
1 | ply
2 | format ascii 1.0
3 | comment Created by Jack Hoxley
4 | element vertex 12
5 | property float x
6 | property float y
7 | property float z
8 | property float nx
9 | property float ny
10 | property float nz
11 | element face 4
12 | property list uchar uint vertex_indices
13 | end_header
14 | -1.000000 0.000000 -1.000000 0.5773502 1.000000 0.5773502
15 | -0.100000 0.000000 -1.000000 -0.5773502 1.000000 0.5773502
16 | -0.450000 0.000000 -0.100000 0.000000 0.707000 -0.707000
17 | 0.100000 0.000000 -1.000000 -0.5773502 0.5773502 -0.5773502
18 | 1.000000 0.000000 -1.000000 0.5773502 0.5773502 -0.5773502
19 | 0.550000 0.000000 -0.100000 0.000000 0.707000 0.707000
20 | -0.400000 0.000000 0.100000 0.000000 0.707000 0.707000
21 | 0.400000 0.000000 0.100000 0.000000 0.707000 0.707000
22 | 0.000000 -0.10000 1.000000 0.000000 0.707000 0.707000
23 | 0.000000 0.000000 -1.000000 0.000000 1.000000 0.000000
24 | 0.400000 0.000000 0.000000 0.000000 1.000000 0.000000
25 | -0.400000 0.000000 0.000000 0.000000 1.000000 0.000000
26 | 3 2 1 0
27 | 3 5 4 3
28 | 3 8 7 6
29 | 3 11 10 9
30 |
31 |
--------------------------------------------------------------------------------
/Source/ParameterWriter.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "ParameterWriter.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | ParameterWriter::ParameterWriter()
18 | {
19 | }
20 | //--------------------------------------------------------------------------------
21 | ParameterWriter::~ParameterWriter()
22 | {
23 | }
24 | //--------------------------------------------------------------------------------
25 |
--------------------------------------------------------------------------------
/Source/PickRecord.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "PickRecord.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | PickRecord::PickRecord( )
18 | {
19 | pEntity = 0;
20 | fDistance = 0.0f;
21 | }
22 | //--------------------------------------------------------------------------------
23 | PickRecord::~PickRecord()
24 | {
25 | }
26 | //--------------------------------------------------------------------------------
27 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/etc/Makefile:
--------------------------------------------------------------------------------
1 | # makefile for Lua etc
2 |
3 | TOP= ..
4 | LIB= $(TOP)/src
5 | INC= $(TOP)/src
6 | BIN= $(TOP)/src
7 | SRC= $(TOP)/src
8 | TST= $(TOP)/test
9 |
10 | CC= gcc
11 | CFLAGS= -O2 -Wall -I$(INC) $(MYCFLAGS)
12 | MYCFLAGS=
13 | MYLDFLAGS= -Wl,-E
14 | MYLIBS= -lm
15 | #MYLIBS= -lm -Wl,-E -ldl -lreadline -lhistory -lncurses
16 | RM= rm -f
17 |
18 | default:
19 | @echo 'Please choose a target: min noparser one strict clean'
20 |
21 | min: min.c
22 | $(CC) $(CFLAGS) $@.c -L$(LIB) -llua $(MYLIBS)
23 | echo 'print"Hello there!"' | ./a.out
24 |
25 | noparser: noparser.o
26 | $(CC) noparser.o $(SRC)/lua.o -L$(LIB) -llua $(MYLIBS)
27 | $(BIN)/luac $(TST)/hello.lua
28 | -./a.out luac.out
29 | -./a.out -e'a=1'
30 |
31 | one:
32 | $(CC) $(CFLAGS) all.c $(MYLIBS)
33 | ./a.out $(TST)/hello.lua
34 |
35 | strict:
36 | -$(BIN)/lua -e 'print(a);b=2'
37 | -$(BIN)/lua -lstrict -e 'print(a)'
38 | -$(BIN)/lua -e 'function f() b=2 end f()'
39 | -$(BIN)/lua -lstrict -e 'function f() b=2 end f()'
40 |
41 | clean:
42 | $(RM) a.out core core.* *.o luac.out
43 |
44 | .PHONY: default min noparser one strict clean
45 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/etc/strict.lua:
--------------------------------------------------------------------------------
1 | --
2 | -- strict.lua
3 | -- checks uses of undeclared global variables
4 | -- All global variables must be 'declared' through a regular assignment
5 | -- (even assigning nil will do) in a main chunk before being used
6 | -- anywhere or assigned to inside a function.
7 | --
8 |
9 | local getinfo, error, rawset, rawget = debug.getinfo, error, rawset, rawget
10 |
11 | local mt = getmetatable(_G)
12 | if mt == nil then
13 | mt = {}
14 | setmetatable(_G, mt)
15 | end
16 |
17 | mt.__declared = {}
18 |
19 | local function what ()
20 | local d = getinfo(3, "S")
21 | return d and d.what or "C"
22 | end
23 |
24 | mt.__newindex = function (t, n, v)
25 | if not mt.__declared[n] then
26 | local w = what()
27 | if w ~= "main" and w ~= "C" then
28 | error("assign to undeclared variable '"..n.."'", 2)
29 | end
30 | mt.__declared[n] = true
31 | end
32 | rawset(t, n, v)
33 | end
34 |
35 | mt.__index = function (t, n)
36 | if not mt.__declared[n] and what() ~= "C" then
37 | error("variable '"..n.."' is not declared", 2)
38 | end
39 | return rawget(t, n)
40 | end
41 |
42 |
--------------------------------------------------------------------------------
/Applications/VolumeRendering/App.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 | #include "RenderApplication.h"
11 | #include "VolumeActor.h"
12 | #include "PointLight.h"
13 |
14 | using namespace Glyph3;
15 |
16 | class App : public RenderApplication
17 | {
18 |
19 | public:
20 | App();
21 |
22 | public:
23 | virtual bool ConfigureEngineComponents();
24 | virtual void ShutdownEngineComponents();
25 |
26 | virtual void Initialize();
27 | virtual void Update();
28 | virtual void Shutdown();
29 |
30 | virtual bool HandleEvent( EventPtr pEvent );
31 | virtual std::wstring GetName( );
32 |
33 | protected:
34 | VolumeActor* m_pActor1;
35 | VolumeActor* m_pActor2;
36 | PointLight* m_pLight;
37 | };
38 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/FullscreenTextured.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // FinalPS.hlsl
3 | //
4 | // This pixel shader samples the ambient occlusion buffer and uses its value to
5 | // modify the ambient term.
6 | //
7 | // Copyright (C) 2009 Jason Zink. All rights reserved.
8 | //--------------------------------------------------------------------------------
9 |
10 | Texture2D ColorTexture : register( t0 );
11 | SamplerState LinearSampler : register( s0 );
12 |
13 | struct VS_INPUT
14 | {
15 | float3 position : POSITION;
16 | float2 tex : TEXCOORD0;
17 | };
18 |
19 | struct VS_OUTPUT
20 | {
21 | float4 position : SV_Position;
22 | float2 tex : TEXCOORD0;
23 | };
24 |
25 |
26 | VS_OUTPUT VSMAIN( in VS_INPUT input )
27 | {
28 | VS_OUTPUT output;
29 |
30 | output.position = float4( input.position, 1.0f );
31 | output.tex = input.tex;
32 |
33 | return output;
34 | }
35 |
36 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
37 | {
38 | float4 vValues = ColorTexture.Sample( LinearSampler, input.tex );
39 |
40 | return( vValues );
41 | }
42 |
43 |
--------------------------------------------------------------------------------
/License.txt:
--------------------------------------------------------------------------------
1 | The MIT License
2 |
3 | Copyright (c) 2003-2011 Jason Zink
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/ObjectTexturedIntPS.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // FinalPS.hlsl
3 | //
4 | // This pixel shader samples the ambient occlusion buffer and uses its value to
5 | // modify the ambient term.
6 | //
7 | // Copyright (C) 2009 Jason Zink. All rights reserved.
8 | //--------------------------------------------------------------------------------
9 |
10 | Texture2D ColorTexture : register( t0 );
11 | SamplerState LinearSampler : register( s0 );
12 |
13 |
14 | struct VS_OUTPUT
15 | {
16 | float4 position : SV_Position;
17 | float2 tex : TEXCOORD0;
18 | float3 normal : NORMAL;
19 | };
20 |
21 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
22 | {
23 | int2 location = (int2)(input.tex * float2(320.0f, 240.0f));
24 | float4 vValues;
25 | float millis = (float)(ColorTexture[location] );
26 | vValues.r = millis / 8534.0f;
27 | vValues.g = 0.0f;//millis / 8534.0f - 0.5f;
28 | vValues.b = 0.0f;
29 | vValues.a = 1.0f;
30 | // float4 vValues = (float)ColorTexture.Sample( LinearSampler, input.tex );
31 |
32 | return( vValues );
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/etc/README:
--------------------------------------------------------------------------------
1 | This directory contains some useful files and code.
2 | Unlike the code in ../src, everything here is in the public domain.
3 |
4 | If any of the makes fail, you're probably not using the same libraries
5 | used to build Lua. Set MYLIBS in Makefile accordingly.
6 |
7 | all.c
8 | Full Lua interpreter in a single file.
9 | Do "make one" for a demo.
10 |
11 | lua.hpp
12 | Lua header files for C++ using 'extern "C"'.
13 |
14 | lua.ico
15 | A Lua icon for Windows (and web sites: save as favicon.ico).
16 | Drawn by hand by Markus Gritsch .
17 |
18 | lua.pc
19 | pkg-config data for Lua
20 |
21 | luavs.bat
22 | Script to build Lua under "Visual Studio .NET Command Prompt".
23 | Run it from the toplevel as etc\luavs.bat.
24 |
25 | min.c
26 | A minimal Lua interpreter.
27 | Good for learning and for starting your own.
28 | Do "make min" for a demo.
29 |
30 | noparser.c
31 | Linking with noparser.o avoids loading the parsing modules in lualib.a.
32 | Do "make noparser" for a demo.
33 |
34 | strict.lua
35 | Traps uses of undeclared global variables.
36 | Do "make strict" for a demo.
37 |
38 |
--------------------------------------------------------------------------------
/Source/DXGIOutput.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "DXGIOutput.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | DXGIOutput::DXGIOutput( Microsoft::WRL::ComPtr pOutput )
18 | {
19 | m_pOutput = pOutput;
20 | }
21 | //--------------------------------------------------------------------------------
22 | DXGIOutput::~DXGIOutput()
23 | {
24 | }
25 | //--------------------------------------------------------------------------------
26 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/VertexColor.hlsl:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | cbuffer Transforms
3 | {
4 | matrix WorldViewProjMatrix;
5 | };
6 |
7 | //-----------------------------------------------------------------------------
8 | struct VS_INPUT
9 | {
10 | float3 position : POSITION;
11 | float4 color : COLOR;
12 | };
13 |
14 | struct VS_OUTPUT
15 | {
16 | float4 position : SV_POSITION;
17 | float4 color : COLOR;
18 | };
19 | //-----------------------------------------------------------------------------
20 | VS_OUTPUT VSMAIN( in VS_INPUT v )
21 | {
22 | VS_OUTPUT o = (VS_OUTPUT)0;
23 |
24 | // Transform the new position to clipspace.
25 | o.position = mul( float4(v.position, 1.0f), WorldViewProjMatrix );
26 | o.color = v.color;
27 |
28 | return o;
29 | }
30 | //-----------------------------------------------------------------------------
31 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
32 | {
33 | float4 color = input.color;
34 | //float4 color = float4( 0.75f, 0.75f, 1.0f, 1.0f );
35 |
36 | return( color );
37 | }
38 | //-----------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Extensions/GlyphCLR/GlyphCLR.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 | #pragma once
11 | #include "NativeGlyph.h"
12 | //--------------------------------------------------------------------------------
13 | using namespace System;
14 | using namespace Glyph3;
15 | //--------------------------------------------------------------------------------
16 | namespace GlyphCLR {
17 |
18 | public ref class ManagedGlyphlet
19 | {
20 | public:
21 | ManagedGlyphlet();
22 | ~ManagedGlyphlet();
23 |
24 | void Initialize();
25 | IntPtr GetRenderTarget();
26 | void Update( float time );
27 | void Shutdown();
28 |
29 | private:
30 | NativeGlyph* m_pNative;
31 | };
32 | }
33 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/etc/luavs.bat:
--------------------------------------------------------------------------------
1 | @rem Script to build Lua under "Visual Studio .NET Command Prompt".
2 | @rem Do not run from this directory; run it from the toplevel: etc\luavs.bat .
3 | @rem It creates lua51.dll, lua51.lib, lua.exe, and luac.exe in src.
4 | @rem (contributed by David Manura and Mike Pall)
5 |
6 | @setlocal
7 | @set MYCOMPILE=cl /nologo /MD /O2 /W3 /c /D_CRT_SECURE_NO_DEPRECATE
8 | @set MYLINK=link /nologo
9 | @set MYMT=mt /nologo
10 |
11 | cd src
12 | %MYCOMPILE% /DLUA_BUILD_AS_DLL l*.c
13 | del lua.obj luac.obj
14 | %MYLINK% /DLL /out:lua51.dll l*.obj
15 | if exist lua51.dll.manifest^
16 | %MYMT% -manifest lua51.dll.manifest -outputresource:lua51.dll;2
17 | %MYCOMPILE% /DLUA_BUILD_AS_DLL lua.c
18 | %MYLINK% /out:lua.exe lua.obj lua51.lib
19 | if exist lua.exe.manifest^
20 | %MYMT% -manifest lua.exe.manifest -outputresource:lua.exe
21 | %MYCOMPILE% l*.c print.c
22 | del lua.obj linit.obj lbaselib.obj ldblib.obj liolib.obj lmathlib.obj^
23 | loslib.obj ltablib.obj lstrlib.obj loadlib.obj
24 | %MYLINK% /out:luac.exe *.obj
25 | if exist luac.exe.manifest^
26 | %MYMT% -manifest luac.exe.manifest -outputresource:luac.exe
27 | del *.obj *.manifest
28 | cd ..
29 |
--------------------------------------------------------------------------------
/Applications/Data/Scripts/Actor.lua:
--------------------------------------------------------------------------------
1 | --dofile( "Data/Scripts/CompositeShape.lua" );
2 |
3 | function Actor:GetPosition()
4 | return( self._GetPosition( self.handle ) );
5 | end
6 |
7 | function Actor:SetPosition( x, y, z )
8 | self._SetPosition( self.handle, x, y, z );
9 | end
10 |
11 | function Actor:SetRotation( x, y, z )
12 | self._SetRotation( self.handle, x, y, z );
13 | end
14 |
15 | function Actor:AttachChild( a )
16 | self._AttachChild( self.handle, a.handle );
17 | end
18 |
19 | function Actor:DetachChild( a )
20 | self._DetachChild( self.handle, a.handle );
21 | end
22 |
23 | function Actor:SetEntityVectorParameter( name, x, y, z, w )
24 | self._SetEntityVectorParameter( self.handle, name, x, y, z, w );
25 | end
26 |
27 | function Actor:SetMaterialVectorParameter( name, x, y, z, w )
28 | self._SetMaterialVectorParameter( self.handle, name, x, y, z, w );
29 | end
30 |
31 |
32 | function Actor:Create( handle )
33 | local o = {}; -- Create the object's table
34 | setmetatable( o, self ); -- Set the object's metatable
35 | self.__index = self; -- Set the object's index table
36 | o.handle = handle; -- Create the engine version of object
37 | return o;
38 | end
39 |
--------------------------------------------------------------------------------
/Applications/Data/Scripts/SceneTestScript.lua:
--------------------------------------------------------------------------------
1 |
2 | dofile( "../Data/Scripts/Actor.lua" )
3 |
4 |
5 |
6 |
7 | App.Log( "Outside" );
8 |
9 | function Initialize()
10 |
11 | handle = 0;
12 | App.Log( "Handle Value: " .. handle );
13 |
14 | handle = App.CreateActor( "box.ms3d", "Phong" );
15 | a1 = Actor:Create( handle );
16 |
17 | App.Log( "Handle Value: " .. handle );
18 |
19 | end
20 |
21 |
22 |
23 | function Update( time )
24 | --App.Log( tostring( time ) );
25 | end
26 |
27 |
28 | function Render()
29 |
30 | end
31 |
32 | --
33 |
34 | function Shutdown()
35 | App.Log( "Shutdown" );
36 | end
37 |
38 |
39 | function OnKeyDown( char )
40 |
41 | if char == 49 then
42 | handle = App.CreateActor( "box.ms3d", "Phong" );
43 | local a = Actor:Create( handle );
44 | a:SetPosition( math.random( -10, 10 ), math.random( -10, 10 ), math.random( -10, 10 ) );
45 | a:SetRotation( math.random( 10 ), math.random( 10 ), math.random( 10 ) );
46 |
47 | a1:AttachChild( a );
48 | end
49 |
50 | if char == 50 then -- '2' Key
51 | end
52 |
53 | if char == 51 then
54 | end
55 |
56 | if char == 52 then
57 | end
58 |
59 | if char == 53 then
60 | end
61 |
62 | end
63 |
64 |
--------------------------------------------------------------------------------
/Extensions/GlyphCLR/NativeGlyph.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 | #pragma once
11 | #include
12 | //--------------------------------------------------------------------------------
13 | namespace Glyph3 {
14 |
15 | class EventManager;
16 | class RendererDX11;
17 | class ParticleStormGlyphlet;
18 |
19 | class NativeGlyph
20 | {
21 | public:
22 | NativeGlyph();
23 |
24 | void Initialize();
25 | ID3D11Texture2D* GetRenderTarget();
26 | void Update( float time );
27 | void Shutdown();
28 |
29 | private:
30 | EventManager* m_pEventManager;
31 | RendererDX11* m_pRenderer;
32 | ID3D11Texture2D* m_pTexture;
33 | ParticleStormGlyphlet* m_pGlyphlet;
34 | };
35 | }
36 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Source/DepthStencilViewDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "DepthStencilViewDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | DepthStencilViewDX11::DepthStencilViewDX11( DepthStencilViewComPtr pView )
18 | {
19 | m_pDepthStencilView = pView;
20 | }
21 | //--------------------------------------------------------------------------------
22 | DepthStencilViewDX11::~DepthStencilViewDX11()
23 | {
24 | }
25 | //--------------------------------------------------------------------------------
26 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/DepthVS.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // DepthVS
3 | //
4 | // This vertex shader outputs the linear view space depth to the pixel shader.
5 | // The linear space is used to avoid precision issues on the later calculations.
6 | //
7 | // Copyright (C) 2009 Jason Zink. All rights reserved.
8 | //--------------------------------------------------------------------------------
9 |
10 | cbuffer Transforms
11 | {
12 | matrix WorldViewProjMatrix;
13 | matrix WorldViewMatrix;
14 | };
15 |
16 |
17 | struct VS_INPUT
18 | {
19 | float3 position : POSITION;
20 | float2 tex : TEXCOORDS0;
21 | float3 normal : NORMAL;
22 | };
23 |
24 | struct VS_OUTPUT
25 | {
26 | float4 position : SV_Position;
27 | float4 depth : COLOR;
28 | };
29 |
30 |
31 | VS_OUTPUT VSMAIN( in VS_INPUT v )
32 | {
33 | VS_OUTPUT output;
34 | output.position = mul( float4( v.position, 1.0f ), WorldViewProjMatrix );
35 |
36 | float3 ViewSpaceNormals = mul( float4( v.normal, 0.0f ), WorldViewMatrix ).xyz;
37 | output.depth.xyz = ViewSpaceNormals * 0.5f + 0.5f;
38 |
39 | output.depth.w = output.position.w / 25.0f;
40 |
41 | return output;
42 | }
43 |
44 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/src/ldebug.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** $Id: ldebug.h,v 2.3.1.1 2007/12/27 13:02:25 roberto Exp $
3 | ** Auxiliary functions from Debug Interface module
4 | ** See Copyright Notice in lua.h
5 | */
6 |
7 | #ifndef ldebug_h
8 | #define ldebug_h
9 |
10 |
11 | #include "lstate.h"
12 |
13 |
14 | #define pcRel(pc, p) (cast(int, (pc) - (p)->code) - 1)
15 |
16 | #define getline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : 0)
17 |
18 | #define resethookcount(L) (L->hookcount = L->basehookcount)
19 |
20 |
21 | LUAI_FUNC void luaG_typeerror (lua_State *L, const TValue *o,
22 | const char *opname);
23 | LUAI_FUNC void luaG_concaterror (lua_State *L, StkId p1, StkId p2);
24 | LUAI_FUNC void luaG_aritherror (lua_State *L, const TValue *p1,
25 | const TValue *p2);
26 | LUAI_FUNC int luaG_ordererror (lua_State *L, const TValue *p1,
27 | const TValue *p2);
28 | LUAI_FUNC void luaG_runerror (lua_State *L, const char *fmt, ...);
29 | LUAI_FUNC void luaG_errormsg (lua_State *L);
30 | LUAI_FUNC int luaG_checkcode (const Proto *pt);
31 | LUAI_FUNC int luaG_checkopenop (Instruction i);
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/Source/UnorderedAccessViewDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "UnorderedAccessViewDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | UnorderedAccessViewDX11::UnorderedAccessViewDX11( UnorderedAccessViewComPtr pView )
18 | {
19 | m_pUnorderedAccessView = pView;
20 | }
21 | //--------------------------------------------------------------------------------
22 | UnorderedAccessViewDX11::~UnorderedAccessViewDX11()
23 | {
24 | }
25 | //--------------------------------------------------------------------------------
26 |
--------------------------------------------------------------------------------
/Extensions/GlyphRift/RiftManager.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 | #include "GlyphRift/RiftManager.h"
11 | #include "OVR_CAPI.h"
12 | #include "Log.h"
13 | //--------------------------------------------------------------------------------
14 | using namespace Glyph3;
15 | //--------------------------------------------------------------------------------
16 | RiftManager::RiftManager()
17 | {
18 | ovrResult result = ovr_Initialize( nullptr );
19 |
20 | if ( result != ovrSuccess ) {
21 | Log::Get().Write( L"ERROR: libOVR failed to initialize!" );
22 | }
23 | }
24 | //--------------------------------------------------------------------------------
25 | RiftManager::~RiftManager()
26 | {
27 | ovr_Shutdown();
28 | }
29 | //--------------------------------------------------------------------------------
30 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/object-color.vertex-normal.flat.perspective.ps.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // Albedo: Object Color
13 | // Geometric Features: Vertex Normals
14 | // Lighting: Flat
15 | // Purpose: Perspective rendering
16 | // Stage: Pixel Shader
17 | //--------------------------------------------------------------------------------
18 | struct VS_OUTPUT
19 | {
20 | float4 position : SV_Position;
21 | float4 color : COLOR;
22 | };
23 | //--------------------------------------------------------------------------------
24 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
25 | {
26 | return input.color;
27 | }
28 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Applications/Data/Shaders/vertex-color.vertex-normal.flat.perspective.ps.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // Albedo: Vertex Color
13 | // Geometric Features: Vertex Normals
14 | // Lighting: Flat
15 | // Purpose: Perspective rendering
16 | // Stage: Pixel Shader
17 | //--------------------------------------------------------------------------------
18 | struct VS_OUTPUT
19 | {
20 | float4 position : SV_Position;
21 | float4 color : COLOR;
22 | };
23 | //--------------------------------------------------------------------------------
24 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
25 | {
26 | return( input.color );
27 | }
28 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Applications/DeferredRendering/AppSettings.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // AppSettings
13 | //
14 | //--------------------------------------------------------------------------------
15 | #include "AppSettings.h"
16 | //--------------------------------------------------------------------------------
17 | DisplayMode::Settings DisplayMode::Value = DisplayMode::Final;
18 | GBufferOptMode::Settings GBufferOptMode::Value = GBufferOptMode::OptEnabled;
19 | LightOptMode::Settings LightOptMode::Value = LightOptMode::Volumes;
20 | LightMode::Settings LightMode::Value = LightMode::Lights3x3x3;
21 | AAMode::Settings AAMode::Value = AAMode::None;
22 | //--------------------------------------------------------------------------------
23 |
--------------------------------------------------------------------------------
/Applications/GlyphletViewerWPF/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.18444
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace GlyphletViewerWPF.Properties
12 | {
13 |
14 |
15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18 | {
19 |
20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21 |
22 | public static Settings Default
23 | {
24 | get
25 | {
26 | return defaultInstance;
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/VertexInstanceColor.hlsl:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | cbuffer InstanceTransforms
3 | {
4 | matrix ViewProjMatrix;
5 | };
6 |
7 | //-----------------------------------------------------------------------------
8 | struct VS_INPUT
9 | {
10 | // Per-vertex data
11 | float3 position : POSITION;
12 |
13 | // Instance data
14 | float4x4 transform : TRANSFORM;
15 | float4 color : COLOR;
16 | };
17 |
18 | struct VS_OUTPUT
19 | {
20 | float4 position : SV_POSITION;
21 | float4 color : COLOR;
22 | };
23 | //-----------------------------------------------------------------------------
24 | VS_OUTPUT VSMAIN( in VS_INPUT v )
25 | {
26 | VS_OUTPUT o;
27 |
28 | float4 positionWS = mul( float4( v.position, 1 ), v.transform );
29 |
30 | // Transform the new position to clipspace.
31 | o.position = mul( positionWS, ViewProjMatrix );
32 | o.color = v.color;
33 |
34 | return o;
35 | }
36 | //-----------------------------------------------------------------------------
37 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
38 | {
39 | float4 color = input.color;
40 |
41 | return( color );
42 | }
43 | //-----------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Include/Intersector.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // Intersector
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef Intersector_h
16 | #define Intersector_h
17 | //--------------------------------------------------------------------------------
18 |
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class Intersector
23 | {
24 | public:
25 | virtual ~Intersector( );
26 |
27 | virtual bool Test();
28 | virtual bool Find();
29 |
30 | protected:
31 | Intersector( );
32 | };
33 | };
34 | //--------------------------------------------------------------------------------
35 | #endif // Intersector_h
36 |
--------------------------------------------------------------------------------
/Applications/BasicWindow/App.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 | #include "Application.h"
11 |
12 | #include "Win32RenderWindow.h"
13 | #include "RendererDX11.h"
14 |
15 | using namespace Glyph3;
16 |
17 | class App : public Application
18 | {
19 |
20 | public:
21 | App();
22 |
23 | public:
24 | virtual void Initialize();
25 | virtual void Update();
26 | virtual void Shutdown();
27 |
28 | virtual bool ConfigureEngineComponents();
29 | virtual void ShutdownEngineComponents();
30 |
31 | virtual void TakeScreenShot();
32 |
33 | virtual bool HandleEvent( EventPtr pEvent );
34 | virtual std::wstring GetName( );
35 |
36 | protected:
37 |
38 | RendererDX11* m_pRenderer11;
39 | Win32RenderWindow* m_pWindow;
40 |
41 | int m_iSwapChain;
42 | ResourcePtr m_RenderTarget;
43 | ResourcePtr m_DepthTarget;
44 | };
45 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/ImageViewerVS.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // ImageViewerVS.hlsl
3 | //
4 | //
5 | // Copyright (C) 2012 Jason Zink. All rights reserved.
6 | //--------------------------------------------------------------------------------
7 |
8 |
9 | cbuffer ImageViewingData
10 | {
11 | float4 WindowSize; // The size of the window being used
12 | float4 ImageSize; // The size of the image being displayed
13 | float4 ViewingParams; // x,y = tex coords for center of view
14 | }; // z,w = zoom amount for x,y directions
15 |
16 |
17 | struct VS_INPUT
18 | {
19 | float4 position : POSITION;
20 | float2 tex : TEXCOORDS0;
21 | };
22 |
23 | struct VS_OUTPUT
24 | {
25 | float4 position : SV_Position;
26 | float2 tex : TEXCOORD0;
27 | };
28 |
29 |
30 | VS_OUTPUT VSMAIN( in VS_INPUT input )
31 | {
32 | VS_OUTPUT output;
33 |
34 | output.position = input.position;
35 |
36 | //output.tex = input.tex;
37 |
38 | //output.tex.xy = ViewingParams.xy + ((input.tex-float2(0.5f,0.5f)*WindowSize.xy/ImageSize.xy)*(1.0f/ViewingParams.zw));
39 | output.tex.xy = (input.tex * WindowSize.xy * (1.0f/ViewingParams.zw) + ViewingParams.xy ) / ImageSize.xy;
40 |
41 | return output;
42 | }
43 |
44 |
--------------------------------------------------------------------------------
/Include/PickRecord.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // PickRecord
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef PickRecord_h
16 | #define PickRecord_h
17 | //--------------------------------------------------------------------------------
18 |
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class Entity3D;
23 |
24 | class PickRecord
25 | {
26 | public:
27 | PickRecord( );
28 | virtual ~PickRecord( );
29 |
30 | public:
31 | Entity3D* pEntity;
32 | float fDistance;
33 | };
34 | };
35 | //--------------------------------------------------------------------------------
36 | #endif // PickRecord_h
37 |
--------------------------------------------------------------------------------
/Applications/BasicApplication/App.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 | #include "Application.h"
11 |
12 | #include "Win32RenderWindow.h"
13 | #include "RendererDX11.h"
14 |
15 | using namespace Glyph3;
16 |
17 | class App : public Application
18 | {
19 |
20 | public:
21 | App();
22 |
23 | public:
24 | virtual void Initialize();
25 | virtual void Update();
26 | virtual void Shutdown();
27 |
28 | virtual bool ConfigureEngineComponents();
29 | virtual void ShutdownEngineComponents();
30 |
31 | virtual void TakeScreenShot();
32 |
33 | virtual bool HandleEvent( EventPtr pEvent );
34 | virtual std::wstring GetName( );
35 |
36 | protected:
37 |
38 | RendererDX11* m_pRenderer11;
39 | Win32RenderWindow* m_pWindow;
40 |
41 | int m_iSwapChain;
42 | ResourcePtr m_RenderTarget;
43 | ResourcePtr m_DepthTarget;
44 | };
45 |
--------------------------------------------------------------------------------
/Include/Lua/lualib.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** $Id: lualib.h,v 1.36.1.1 2007/12/27 13:02:25 roberto Exp $
3 | ** Lua standard libraries
4 | ** See Copyright Notice in lua.h
5 | */
6 |
7 |
8 | #ifndef lualib_h
9 | #define lualib_h
10 |
11 | #include "lua.h"
12 |
13 |
14 | /* Key to file-handle type */
15 | #define LUA_FILEHANDLE "FILE*"
16 |
17 |
18 | #define LUA_COLIBNAME "coroutine"
19 | LUALIB_API int (luaopen_base) (lua_State *L);
20 |
21 | #define LUA_TABLIBNAME "table"
22 | LUALIB_API int (luaopen_table) (lua_State *L);
23 |
24 | #define LUA_IOLIBNAME "io"
25 | LUALIB_API int (luaopen_io) (lua_State *L);
26 |
27 | #define LUA_OSLIBNAME "os"
28 | LUALIB_API int (luaopen_os) (lua_State *L);
29 |
30 | #define LUA_STRLIBNAME "string"
31 | LUALIB_API int (luaopen_string) (lua_State *L);
32 |
33 | #define LUA_MATHLIBNAME "math"
34 | LUALIB_API int (luaopen_math) (lua_State *L);
35 |
36 | #define LUA_DBLIBNAME "debug"
37 | LUALIB_API int (luaopen_debug) (lua_State *L);
38 |
39 | #define LUA_LOADLIBNAME "package"
40 | LUALIB_API int (luaopen_package) (lua_State *L);
41 |
42 |
43 | /* open all previous libraries */
44 | LUALIB_API void (luaL_openlibs) (lua_State *L);
45 |
46 |
47 |
48 | #ifndef lua_assert
49 | #define lua_assert(x) ((void)0)
50 | #endif
51 |
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/Source/PointIndices.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "PointIndices.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | PointIndices::PointIndices()
18 | {
19 | i1 = 0;
20 | }
21 | //--------------------------------------------------------------------------------
22 | PointIndices::PointIndices( unsigned int I1 )
23 | {
24 | i1 = I1;
25 | }
26 | //--------------------------------------------------------------------------------
27 | PointIndices::~PointIndices()
28 | {
29 | }
30 | //--------------------------------------------------------------------------------
31 |
--------------------------------------------------------------------------------
/Source/Ray3f.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "Ray3f.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | Ray3f::Ray3f()
18 | {
19 | }
20 | //--------------------------------------------------------------------------------
21 | Ray3f::Ray3f( const Vector3f& Position, const Vector3f& Direction )
22 | {
23 | origin = Position;
24 | direction = Direction;
25 | }
26 | //--------------------------------------------------------------------------------
27 | Ray3f::~Ray3f()
28 | {
29 | }
30 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Include/GlyphKinect/KinectPose.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // KinectPose
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef KinectPose_h
16 | #define KinectPose_h
17 | //--------------------------------------------------------------------------------
18 | #include "PCH.h"
19 | #include "NuiApi.h"
20 | //--------------------------------------------------------------------------------
21 | namespace Glyph3
22 | {
23 | class KinectPose
24 | {
25 | public:
26 | KinectPose();
27 | virtual ~KinectPose();
28 |
29 | virtual bool TestPose( NUI_SKELETON_DATA& data ) = 0;
30 | };
31 | }
32 | //--------------------------------------------------------------------------------
33 | #endif // KinectPose_h
--------------------------------------------------------------------------------
/Include/PointIndices.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // PointIndices
13 | //
14 | // This class represents the single index of a point.
15 | //--------------------------------------------------------------------------------
16 | #ifndef PointIndices_h
17 | #define PointIndices_h
18 | //--------------------------------------------------------------------------------
19 | namespace Glyph3
20 | {
21 | struct PointIndices
22 | {
23 | PointIndices();
24 | PointIndices( unsigned int I1 );
25 | ~PointIndices();
26 |
27 | unsigned int i1;
28 | };
29 | };
30 | //--------------------------------------------------------------------------------
31 | #endif // PointIndices_h
32 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Applications/Data/Shaders/FinalVS.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // FinalVS.hlsl
3 | //
4 | // This vertex shader outputs the standard information for rendering a scene.
5 | // No special calculations are needed to support ambient occlusion except for
6 | // the screen space positions.
7 | //
8 | // Copyright (C) 2009 Jason Zink. All rights reserved.
9 | //--------------------------------------------------------------------------------
10 |
11 |
12 | cbuffer Transforms
13 | {
14 | matrix WorldViewProjMatrix;
15 | matrix WorldViewMatrix;
16 | };
17 |
18 |
19 | struct VS_INPUT
20 | {
21 | float3 position : POSITION;
22 | float2 tex : TEXCOORDS0;
23 | float3 normal : NORMAL;
24 | };
25 |
26 | struct VS_OUTPUT
27 | {
28 | float4 position : SV_Position;
29 | float3 normal : NORMAL;
30 | };
31 |
32 |
33 | VS_OUTPUT VSMAIN( in VS_INPUT input )
34 | {
35 | VS_OUTPUT output;
36 |
37 | output.position = mul( float4( input.position, 1.0f ), WorldViewProjMatrix );
38 | //output.colour.xyz = float4( 1.0, 1.0, 1.0, 1.0 ); //v.colour;
39 |
40 | float3 ViewSpaceNormals = mul( float4( input.normal, 0.0f ), WorldViewMatrix ).xyz;
41 | output.normal = ViewSpaceNormals * 0.5f + 0.5f;
42 |
43 | return output;
44 | }
45 |
46 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/src/ltm.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** $Id: ltm.h,v 2.6.1.1 2007/12/27 13:02:25 roberto Exp $
3 | ** Tag methods
4 | ** See Copyright Notice in lua.h
5 | */
6 |
7 | #ifndef ltm_h
8 | #define ltm_h
9 |
10 |
11 | #include "lobject.h"
12 |
13 |
14 | /*
15 | * WARNING: if you change the order of this enumeration,
16 | * grep "ORDER TM"
17 | */
18 | typedef enum {
19 | TM_INDEX,
20 | TM_NEWINDEX,
21 | TM_GC,
22 | TM_MODE,
23 | TM_EQ, /* last tag method with `fast' access */
24 | TM_ADD,
25 | TM_SUB,
26 | TM_MUL,
27 | TM_DIV,
28 | TM_MOD,
29 | TM_POW,
30 | TM_UNM,
31 | TM_LEN,
32 | TM_LT,
33 | TM_LE,
34 | TM_CONCAT,
35 | TM_CALL,
36 | TM_N /* number of elements in the enum */
37 | } TMS;
38 |
39 |
40 |
41 | #define gfasttm(g,et,e) ((et) == NULL ? NULL : \
42 | ((et)->flags & (1u<<(e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e]))
43 |
44 | #define fasttm(l,et,e) gfasttm(G(l), et, e)
45 |
46 | LUAI_DATA const char *const luaT_typenames[];
47 |
48 |
49 | LUAI_FUNC const TValue *luaT_gettm (Table *events, TMS event, TString *ename);
50 | LUAI_FUNC const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o,
51 | TMS event);
52 | LUAI_FUNC void luaT_init (lua_State *L);
53 |
54 | #endif
55 |
--------------------------------------------------------------------------------
/Source/MaterialManager.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "MaterialManager.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | MaterialManager::MaterialManager()
18 | {
19 | }
20 | //--------------------------------------------------------------------------------
21 | MaterialManager::~MaterialManager()
22 | {
23 | }
24 | //--------------------------------------------------------------------------------
25 | void MaterialManager::AddTemplate( MaterialTemplate* pTemplate )
26 | {
27 | }
28 | //--------------------------------------------------------------------------------
29 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/ObjectTexturedVS.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // FinalVS.hlsl
3 | //
4 | // This vertex shader outputs the standard information for rendering a scene.
5 | // No special calculations are needed to support ambient occlusion except for
6 | // the screen space positions.
7 | //
8 | // Copyright (C) 2009 Jason Zink. All rights reserved.
9 | //--------------------------------------------------------------------------------
10 |
11 |
12 | cbuffer Transforms2
13 | {
14 | matrix WorldViewProjMatrix;
15 | matrix WorldViewMatrix;
16 | };
17 |
18 |
19 | struct VS_INPUT
20 | {
21 | float3 position : POSITION;
22 | float2 tex : TEXCOORDS0;
23 | float3 normal : NORMAL;
24 | };
25 |
26 | struct VS_OUTPUT
27 | {
28 | float4 position : SV_Position;
29 | float2 tex : TEXCOORD0;
30 | float3 normal : NORMAL;
31 | };
32 |
33 |
34 | VS_OUTPUT VSMAIN( in VS_INPUT input )
35 | {
36 | VS_OUTPUT output;
37 |
38 | output.position = mul( float4( input.position, 1.0f ), WorldViewProjMatrix );
39 | output.tex = input.tex;
40 |
41 | float3 ViewSpaceNormals = mul( float4( input.normal, 0.0f ), WorldViewMatrix ).xyz;
42 | output.normal = ViewSpaceNormals * 0.5f + 0.5f;
43 |
44 | return output;
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/src/lualib.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** $Id: lualib.h,v 1.36.1.1 2007/12/27 13:02:25 roberto Exp $
3 | ** Lua standard libraries
4 | ** See Copyright Notice in lua.h
5 | */
6 |
7 |
8 | #ifndef lualib_h
9 | #define lualib_h
10 |
11 | #include "lua.h"
12 |
13 |
14 | /* Key to file-handle type */
15 | #define LUA_FILEHANDLE "FILE*"
16 |
17 |
18 | #define LUA_COLIBNAME "coroutine"
19 | LUALIB_API int (luaopen_base) (lua_State *L);
20 |
21 | #define LUA_TABLIBNAME "table"
22 | LUALIB_API int (luaopen_table) (lua_State *L);
23 |
24 | #define LUA_IOLIBNAME "io"
25 | LUALIB_API int (luaopen_io) (lua_State *L);
26 |
27 | #define LUA_OSLIBNAME "os"
28 | LUALIB_API int (luaopen_os) (lua_State *L);
29 |
30 | #define LUA_STRLIBNAME "string"
31 | LUALIB_API int (luaopen_string) (lua_State *L);
32 |
33 | #define LUA_MATHLIBNAME "math"
34 | LUALIB_API int (luaopen_math) (lua_State *L);
35 |
36 | #define LUA_DBLIBNAME "debug"
37 | LUALIB_API int (luaopen_debug) (lua_State *L);
38 |
39 | #define LUA_LOADLIBNAME "package"
40 | LUALIB_API int (luaopen_package) (lua_State *L);
41 |
42 |
43 | /* open all previous libraries */
44 | LUALIB_API void (luaL_openlibs) (lua_State *L);
45 |
46 |
47 |
48 | #ifndef lua_assert
49 | #define lua_assert(x) ((void)0)
50 | #endif
51 |
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/src/lfunc.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** $Id: lfunc.h,v 2.4.1.1 2007/12/27 13:02:25 roberto Exp $
3 | ** Auxiliary functions to manipulate prototypes and closures
4 | ** See Copyright Notice in lua.h
5 | */
6 |
7 | #ifndef lfunc_h
8 | #define lfunc_h
9 |
10 |
11 | #include "lobject.h"
12 |
13 |
14 | #define sizeCclosure(n) (cast(int, sizeof(CClosure)) + \
15 | cast(int, sizeof(TValue)*((n)-1)))
16 |
17 | #define sizeLclosure(n) (cast(int, sizeof(LClosure)) + \
18 | cast(int, sizeof(TValue *)*((n)-1)))
19 |
20 |
21 | LUAI_FUNC Proto *luaF_newproto (lua_State *L);
22 | LUAI_FUNC Closure *luaF_newCclosure (lua_State *L, int nelems, Table *e);
23 | LUAI_FUNC Closure *luaF_newLclosure (lua_State *L, int nelems, Table *e);
24 | LUAI_FUNC UpVal *luaF_newupval (lua_State *L);
25 | LUAI_FUNC UpVal *luaF_findupval (lua_State *L, StkId level);
26 | LUAI_FUNC void luaF_close (lua_State *L, StkId level);
27 | LUAI_FUNC void luaF_freeproto (lua_State *L, Proto *f);
28 | LUAI_FUNC void luaF_freeclosure (lua_State *L, Closure *c);
29 | LUAI_FUNC void luaF_freeupval (lua_State *L, UpVal *uv);
30 | LUAI_FUNC const char *luaF_getlocalname (const Proto *func, int local_number,
31 | int pc);
32 |
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/Include/IScriptInterface.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // IScriptInterface
13 | //
14 | //--------------------------------------------------------------------------------
15 |
16 | //--------------------------------------------------------------------------------
17 | #ifndef IScriptInterface_h
18 | #define IScriptInterface_h
19 | //--------------------------------------------------------------------------------
20 |
21 | //--------------------------------------------------------------------------------
22 | namespace Glyph3
23 | {
24 | class IScriptInterface
25 | {
26 | public:
27 | virtual void InitializeInterface( ) = 0;
28 | };
29 | };
30 | //--------------------------------------------------------------------------------
31 | #endif // IScriptInterface_h
32 |
--------------------------------------------------------------------------------
/Applications/Glyphlets/App.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 | #include "RenderApplication.h"
11 | #include "GlyphletActor.h"
12 | #include "TextActor.h"
13 |
14 | using namespace Glyph3;
15 |
16 | class App : public RenderApplication
17 | {
18 |
19 | public:
20 | App();
21 |
22 | public:
23 | virtual bool ConfigureEngineComponents();
24 | virtual void ShutdownEngineComponents();
25 |
26 | virtual void Initialize();
27 | virtual void Update();
28 | virtual void Shutdown();
29 |
30 | virtual bool HandleEvent( EventPtr pEvent );
31 | virtual std::wstring GetName( );
32 |
33 | protected:
34 | unsigned int m_uiInputTarget;
35 |
36 | TextActor* m_pHeadline1;
37 | TextActor* m_pHeadline2;
38 | TextActor* m_pBodyText1;
39 | TextActor* m_pBodyText2;
40 |
41 | GlyphletActor* m_pActor1;
42 | GlyphletActor* m_pActor2;
43 | };
44 |
--------------------------------------------------------------------------------
/Include/ActorGenerator.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // ActorGenerator
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef ActorGenerator_h
16 | #define ActorGenerator_h
17 | //--------------------------------------------------------------------------------
18 | #include "Actor.h"
19 | #include "MaterialDX11.h"
20 | //--------------------------------------------------------------------------------
21 | namespace Glyph3
22 | {
23 | class ActorGenerator
24 | {
25 | public:
26 | static Actor* GenerateVisualizationTexture2D( RendererDX11& Renderer,
27 | ResourcePtr resource, MaterialPtr pMaterial );
28 |
29 | private:
30 | ActorGenerator();
31 |
32 | };
33 | };
34 | #endif // ActorGenerator_h
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/test/README:
--------------------------------------------------------------------------------
1 | These are simple tests for Lua. Some of them contain useful code.
2 | They are meant to be run to make sure Lua is built correctly and also
3 | to be read, to see how Lua programs look.
4 |
5 | Here is a one-line summary of each program:
6 |
7 | bisect.lua bisection method for solving non-linear equations
8 | cf.lua temperature conversion table (celsius to farenheit)
9 | echo.lua echo command line arguments
10 | env.lua environment variables as automatic global variables
11 | factorial.lua factorial without recursion
12 | fib.lua fibonacci function with cache
13 | fibfor.lua fibonacci numbers with coroutines and generators
14 | globals.lua report global variable usage
15 | hello.lua the first program in every language
16 | life.lua Conway's Game of Life
17 | luac.lua bare-bones luac
18 | printf.lua an implementation of printf
19 | readonly.lua make global variables readonly
20 | sieve.lua the sieve of of Eratosthenes programmed with coroutines
21 | sort.lua two implementations of a sort function
22 | table.lua make table, grouping all data for the same item
23 | trace-calls.lua trace calls
24 | trace-globals.lua trace assigments to global variables
25 | xd.lua hex dump
26 |
27 |
--------------------------------------------------------------------------------
/Include/IController.inl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | template
13 | IController::IController()
14 | {
15 | m_pEntity = 0;
16 | }
17 | //--------------------------------------------------------------------------------
18 | template
19 | IController::~IController()
20 | {
21 | }
22 | //--------------------------------------------------------------------------------
23 | template
24 | void IController::SetEntity( T* pEntity )
25 | {
26 | m_pEntity = pEntity;
27 | }
28 | //--------------------------------------------------------------------------------
29 | template
30 | T* IController::GetEntity()
31 | {
32 | return( m_pEntity );
33 | }
34 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Include/IWindowProc.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // IWindowProc
13 | //
14 | // 06.02.2012 File added by Francois Piette.
15 | //--------------------------------------------------------------------------------
16 | #ifndef IWindowProc_h
17 | #define IWindowProc_h
18 | //--------------------------------------------------------------------------------
19 | namespace Glyph3
20 | {
21 | // This class is the interface for window's message handling
22 | class IWindowProc
23 | {
24 | public:
25 | virtual LRESULT WindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) = 0;
26 | virtual void BeforeRegisterWindowClass(WNDCLASSEX &wc) = 0;
27 | };
28 | };
29 | //--------------------------------------------------------------------------------
30 | #endif // IWindowProc_h
31 |
--------------------------------------------------------------------------------
/Include/GlyphKinect/ArmsForwardPose.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // ArmsForwardPose
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef ArmsForwardPose_h
16 | #define ArmsForwardPose_h
17 | //--------------------------------------------------------------------------------
18 | #include "PCH.h"
19 | #include "NuiApi.h"
20 | //--------------------------------------------------------------------------------
21 | namespace Glyph3
22 | {
23 | class ArmsForwardPose
24 | {
25 | public:
26 | ArmsForwardPose();
27 | virtual ~ArmsForwardPose();
28 |
29 | virtual bool TestPose( NUI_SKELETON_DATA& data );
30 | };
31 | }
32 | //--------------------------------------------------------------------------------
33 | #endif // ArmsForwardPose_h
--------------------------------------------------------------------------------
/Source/Triangle3f.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "Triangle3f.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | Triangle3f::Triangle3f()
18 | {
19 | }
20 | //--------------------------------------------------------------------------------
21 | Triangle3f::Triangle3f( const Vector3f& P1, const Vector3f& P2, const Vector3f& P3 )
22 | {
23 | p1 = P1;
24 | p2 = P2;
25 | p3 = P3;
26 | }
27 | //--------------------------------------------------------------------------------
28 | Triangle3f::~Triangle3f()
29 | {
30 | }
31 | //--------------------------------------------------------------------------------
32 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/FullscreenTwoTextures.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // FullscreenTwoTextures.hlsl
3 | //
4 | // Copyright (C) Jason Zink. All rights reserved.
5 | //--------------------------------------------------------------------------------
6 |
7 | Texture2D ColorTexture1 : register( t0 );
8 | Texture2D ColorTexture2 : register( t1 );
9 | SamplerState LinearSampler : register( s0 );
10 |
11 | struct VS_INPUT
12 | {
13 | float3 position : POSITION;
14 | float2 tex : TEXCOORD0;
15 | };
16 |
17 | struct VS_OUTPUT
18 | {
19 | float4 position : SV_Position;
20 | float2 tex : TEXCOORD0;
21 | };
22 |
23 |
24 | VS_OUTPUT VSMAIN( in VS_INPUT input )
25 | {
26 | VS_OUTPUT output;
27 |
28 | output.position = float4( input.position, 1.0f );
29 | output.tex = input.tex;
30 |
31 | return output;
32 | }
33 |
34 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
35 | {
36 | float exposure = 1.0;
37 |
38 | float4 color1 = ColorTexture1.Sample( LinearSampler, input.tex );
39 | float4 color2 = ColorTexture2.Sample( LinearSampler, input.tex );
40 | float3 hdr = color1.xyz + color2.xyz;
41 |
42 | float3 tone_mapped = float3( 1.0, 1.0, 1.0 ) - exp(-hdr * exposure);
43 |
44 | return( float4( tone_mapped, 1.0 ) );
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/TransparentGeometryFlat.hlsl:
--------------------------------------------------------------------------------
1 |
2 |
3 | //-----------------------------------------------------------------------------
4 | cbuffer Transforms
5 | {
6 | matrix WorldViewProjMatrix;
7 | };
8 |
9 | cbuffer TranslucentObjectMaterialInfo
10 | {
11 | float4 Kd;
12 | float4 Ks;
13 | };
14 | //-----------------------------------------------------------------------------
15 |
16 |
17 | //-----------------------------------------------------------------------------
18 | struct VS_INPUT
19 | {
20 | float3 position : POSITION;
21 | float4 color : COLOR;
22 | };
23 |
24 | struct VS_OUTPUT
25 | {
26 | float4 position : SV_POSITION;
27 | float4 color : COLOR;
28 | };
29 | //-----------------------------------------------------------------------------
30 | VS_OUTPUT VSMAIN( in VS_INPUT v )
31 | {
32 | VS_OUTPUT o = (VS_OUTPUT)0;
33 |
34 | // Transform the new position to clipspace.
35 | o.position = mul( float4(v.position, 1.0f), WorldViewProjMatrix );
36 | o.color = v.color * Kd;
37 |
38 | return o;
39 | }
40 | //-----------------------------------------------------------------------------
41 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
42 | {
43 | float4 color = input.color;
44 |
45 | return( color );
46 | }
47 | //-----------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Include/LuaApp.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // LuaApp
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef LuaApp_h
16 | #define LuaApp_h
17 | //--------------------------------------------------------------------------------
18 | #include "ScriptManager.h"
19 | #include "Scene.h"
20 | //--------------------------------------------------------------------------------
21 | namespace Glyph3
22 | {
23 | class LuaApp
24 | {
25 | public:
26 | LuaApp();
27 | virtual ~LuaApp();
28 |
29 | static void Register( lua_State* L );
30 |
31 | static int Log( lua_State* L );
32 | static int Framerate( lua_State* L );
33 | };
34 | };
35 | //--------------------------------------------------------------------------------
36 | #endif // LuaApp_h
37 |
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/src/lvm.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** $Id: lvm.h,v 2.5.1.1 2007/12/27 13:02:25 roberto Exp $
3 | ** Lua virtual machine
4 | ** See Copyright Notice in lua.h
5 | */
6 |
7 | #ifndef lvm_h
8 | #define lvm_h
9 |
10 |
11 | #include "ldo.h"
12 | #include "lobject.h"
13 | #include "ltm.h"
14 |
15 |
16 | #define tostring(L,o) ((ttype(o) == LUA_TSTRING) || (luaV_tostring(L, o)))
17 |
18 | #define tonumber(o,n) (ttype(o) == LUA_TNUMBER || \
19 | (((o) = luaV_tonumber(o,n)) != NULL))
20 |
21 | #define equalobj(L,o1,o2) \
22 | (ttype(o1) == ttype(o2) && luaV_equalval(L, o1, o2))
23 |
24 |
25 | LUAI_FUNC int luaV_lessthan (lua_State *L, const TValue *l, const TValue *r);
26 | LUAI_FUNC int luaV_equalval (lua_State *L, const TValue *t1, const TValue *t2);
27 | LUAI_FUNC const TValue *luaV_tonumber (const TValue *obj, TValue *n);
28 | LUAI_FUNC int luaV_tostring (lua_State *L, StkId obj);
29 | LUAI_FUNC void luaV_gettable (lua_State *L, const TValue *t, TValue *key,
30 | StkId val);
31 | LUAI_FUNC void luaV_settable (lua_State *L, const TValue *t, TValue *key,
32 | StkId val);
33 | LUAI_FUNC void luaV_execute (lua_State *L, int nexeccalls);
34 | LUAI_FUNC void luaV_concat (lua_State *L, int total, int last);
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/Include/Ray3f.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // Ray3f
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef Ray3f_h
16 | #define Ray3f_h
17 | //--------------------------------------------------------------------------------
18 | #include "Vector3f.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | struct Ray3f
23 | {
24 | Ray3f( );
25 | Ray3f( const Vector3f& position, const Vector3f& direction );
26 | ~Ray3f( );
27 |
28 | Vector3f origin;
29 | Vector3f direction;
30 | };
31 | };
32 | //--------------------------------------------------------------------------------
33 | #endif // Ray3f_h
34 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Applications/Data/Shaders/Textured.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // Copyright (C) 2009 Jason Zink. All rights reserved.
3 | //--------------------------------------------------------------------------------
4 |
5 | Texture2D ColorTexture : register( t0 );
6 | SamplerState LinearSampler : register( s0 );
7 |
8 | cbuffer TransformMatrices
9 | {
10 | matrix WorldViewProjMatrix;
11 | };
12 |
13 | cbuffer ObjectProperties
14 | {
15 | float4 objectColor;
16 | };
17 |
18 | struct VS_INPUT
19 | {
20 | float3 position : POSITION;
21 | float2 tex : TEXCOORD0;
22 | };
23 |
24 | struct VS_OUTPUT
25 | {
26 | float4 position : SV_Position;
27 | float4 color : COLOR;
28 | float2 tex : TEXCOORD0;
29 | };
30 |
31 |
32 | VS_OUTPUT VSMAIN( in VS_INPUT input )
33 | {
34 | VS_OUTPUT output;
35 |
36 | output.position = mul( float4( input.position, 1.0f ), WorldViewProjMatrix );
37 |
38 | output.color = objectColor;
39 | output.tex = input.tex;
40 |
41 | return output;
42 | }
43 |
44 |
45 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
46 | {
47 | float4 sampledColor = ColorTexture.Sample( LinearSampler, input.tex );
48 | float4 mixedColor = sampledColor * input.color;
49 |
50 | clip( mixedColor.a - 0.01f );
51 |
52 | return( mixedColor );
53 | }
54 |
55 |
--------------------------------------------------------------------------------
/Include/Shape3D.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // Shape3D
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef Shape3D_h
16 | #define Shape3D_h
17 | //--------------------------------------------------------------------------------
18 | #include "Vector3f.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | enum eSHAPE
23 | {
24 | SPHERE,
25 | BOX,
26 | TRIANGLE,
27 | RAY,
28 | PLANE,
29 | FRUSTUM,
30 | CONE
31 | };
32 |
33 | class Shape3D
34 | {
35 | public:
36 | Shape3D( );
37 | virtual ~Shape3D( );
38 |
39 | virtual eSHAPE GetShapeType( ) const = 0;
40 | };
41 | };
42 | //--------------------------------------------------------------------------------
43 | #endif // Shape3D_h
44 |
--------------------------------------------------------------------------------
/Source/HullShaderDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "HullShaderDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | HullShaderDX11::HullShaderDX11( ID3D11HullShader* pShader )
18 | {
19 | m_pHullShader = pShader;
20 | }
21 | //--------------------------------------------------------------------------------
22 | HullShaderDX11::~HullShaderDX11()
23 | {
24 | SAFE_RELEASE( m_pHullShader );
25 | }
26 | //--------------------------------------------------------------------------------
27 | ShaderType HullShaderDX11::GetType()
28 | {
29 | return( HULL_SHADER );
30 | }
31 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Applications/Data/Shaders/LuminanceThresholdCS.hlsl:
--------------------------------------------------------------------------------
1 | //
2 | // LuminanceThreshold.hlsl
3 | //
4 | // Copyright (C) Jason Zink
5 |
6 | // Declare the input and output resources
7 | Texture2D InputMap : register( t0 );
8 | RWTexture2D OutputMap : register( u0 );
9 |
10 | cbuffer LuminanceThresholdParams
11 | {
12 | float4 Thresholds;
13 | };
14 |
15 | // Group size
16 | #define size_x 32
17 | #define size_y 32
18 |
19 | // Declare one thread for each texel of the current block size.
20 | [numthreads(size_x, size_y, 1)]
21 |
22 | void CSMAIN( uint3 GroupID : SV_GroupID, uint3 DispatchThreadID : SV_DispatchThreadID, uint3 GroupThreadID : SV_GroupThreadID, uint GroupIndex : SV_GroupIndex )
23 | {
24 | // Offset the texture location to the first sample location
25 | int3 texturelocation = DispatchThreadID;
26 |
27 | // Initialize the output value to zero, then loop through the
28 | // filter samples, apply them to the image samples, and sum
29 | // the results.
30 | float4 color = InputMap.Load( texturelocation );
31 |
32 | float luminance = dot( color, float4( 0.2126, 0.7152, 0.0722, 0.0 ) );
33 |
34 | // Write the output to the output resource if the luminance exceeds the threshold
35 | if ( luminance < Thresholds.x ) {
36 | color = float4( 0.0, 0.0, 0.0, 0.0 );
37 | }
38 |
39 | OutputMap[DispatchThreadID.xy] = color;
40 | }
41 |
--------------------------------------------------------------------------------
/Applications/SkinAndBones/App.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 | #include "RenderApplication.h"
11 |
12 | #include "GeometryDX11.h"
13 | #include "MaterialDX11.h"
14 | #include "Camera.h"
15 | #include "Scene.h"
16 | #include "SkinnedActor.h"
17 | #include "VectorParameterDX11.h"
18 |
19 | using namespace Glyph3;
20 |
21 | class App : public RenderApplication
22 | {
23 |
24 | public:
25 | App();
26 |
27 | public:
28 | virtual bool ConfigureEngineComponents();
29 | virtual void ShutdownEngineComponents();
30 |
31 | virtual void Initialize();
32 | virtual void Update();
33 | virtual void Shutdown();
34 |
35 | virtual bool HandleEvent( EventPtr pEvent );
36 | virtual std::wstring GetName( );
37 |
38 | protected:
39 |
40 | SkinnedActor* m_pSkinnedActor;
41 | SkinnedActor* m_pDisplacedActor;
42 | Actor* m_pStaticActor;
43 |
44 | VectorParameterDX11* m_pLightColor;
45 | VectorParameterDX11* m_pLightPosition;
46 | };
47 |
--------------------------------------------------------------------------------
/Applications/WaterSimulationI/App.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 | #include "RenderApplication.h"
11 |
12 | #include "GeometryDX11.h"
13 | #include "MaterialDX11.h"
14 | #include "Camera.h"
15 | #include "Scene.h"
16 |
17 | #include "VectorParameterDX11.h"
18 |
19 | using namespace Glyph3;
20 |
21 | class App : public RenderApplication
22 | {
23 |
24 | public:
25 | App();
26 |
27 | public:
28 | virtual bool ConfigureEngineComponents();
29 | virtual void ShutdownEngineComponents();
30 |
31 | virtual void Initialize();
32 | virtual void Update();
33 | virtual void Shutdown();
34 |
35 | virtual bool HandleEvent( EventPtr pEvent );
36 | virtual std::wstring GetName( );
37 |
38 | protected:
39 |
40 | Actor* m_pActor;
41 |
42 | // Add parameter references here for setting parameters.
43 | VectorParameterDX11* m_pTimeFactors;
44 | VectorParameterDX11* m_pDispatchSize;
45 | VectorParameterDX11* m_pFinalColor;
46 | };
47 |
--------------------------------------------------------------------------------
/Source/PixelShaderDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "PixelShaderDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | PixelShaderDX11::PixelShaderDX11( ID3D11PixelShader* pShader )
18 | {
19 | m_pPixelShader = pShader;
20 | }
21 | //--------------------------------------------------------------------------------
22 | PixelShaderDX11::~PixelShaderDX11()
23 | {
24 | SAFE_RELEASE( m_pPixelShader );
25 | }
26 | //--------------------------------------------------------------------------------
27 | ShaderType PixelShaderDX11::GetType()
28 | {
29 | return( PIXEL_SHADER );
30 | }
31 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/src/ltable.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** $Id: ltable.h,v 2.10.1.1 2007/12/27 13:02:25 roberto Exp $
3 | ** Lua tables (hash)
4 | ** See Copyright Notice in lua.h
5 | */
6 |
7 | #ifndef ltable_h
8 | #define ltable_h
9 |
10 | #include "lobject.h"
11 |
12 |
13 | #define gnode(t,i) (&(t)->node[i])
14 | #define gkey(n) (&(n)->i_key.nk)
15 | #define gval(n) (&(n)->i_val)
16 | #define gnext(n) ((n)->i_key.nk.next)
17 |
18 | #define key2tval(n) (&(n)->i_key.tvk)
19 |
20 |
21 | LUAI_FUNC const TValue *luaH_getnum (Table *t, int key);
22 | LUAI_FUNC TValue *luaH_setnum (lua_State *L, Table *t, int key);
23 | LUAI_FUNC const TValue *luaH_getstr (Table *t, TString *key);
24 | LUAI_FUNC TValue *luaH_setstr (lua_State *L, Table *t, TString *key);
25 | LUAI_FUNC const TValue *luaH_get (Table *t, const TValue *key);
26 | LUAI_FUNC TValue *luaH_set (lua_State *L, Table *t, const TValue *key);
27 | LUAI_FUNC Table *luaH_new (lua_State *L, int narray, int lnhash);
28 | LUAI_FUNC void luaH_resizearray (lua_State *L, Table *t, int nasize);
29 | LUAI_FUNC void luaH_free (lua_State *L, Table *t);
30 | LUAI_FUNC int luaH_next (lua_State *L, Table *t, StkId key);
31 | LUAI_FUNC int luaH_getn (Table *t);
32 |
33 |
34 | #if defined(LUA_DEBUG)
35 | LUAI_FUNC Node *luaH_mainposition (const Table *t, const TValue *key);
36 | LUAI_FUNC int luaH_isdummy (Node *n);
37 | #endif
38 |
39 |
40 | #endif
41 |
--------------------------------------------------------------------------------
/Include/EvtChar.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // EvtChar
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef EvtChar_h
16 | #define EvtChar_h
17 | //--------------------------------------------------------------------------------
18 | #include "EvtKeyboardMsg.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class EvtChar : public EvtKeyboardMsg
23 | {
24 | public:
25 | EvtChar( HWND hwnd, unsigned int wparam, long lparam );
26 | virtual ~EvtChar( );
27 |
28 | virtual std::wstring GetEventName( );
29 | virtual eEVENT GetEventType( );
30 | };
31 |
32 | typedef std::shared_ptr EvtCharPtr;
33 | };
34 | //--------------------------------------------------------------------------------
35 | #endif // EvtChar_h
36 |
--------------------------------------------------------------------------------
/Source/DomainShaderDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "DomainShaderDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | DomainShaderDX11::DomainShaderDX11( ID3D11DomainShader* pShader )
18 | {
19 | m_pDomainShader = pShader;
20 | }
21 | //--------------------------------------------------------------------------------
22 | DomainShaderDX11::~DomainShaderDX11()
23 | {
24 | SAFE_RELEASE( m_pDomainShader );
25 | }
26 | //--------------------------------------------------------------------------------
27 | ShaderType DomainShaderDX11::GetType()
28 | {
29 | return( DOMAIN_SHADER );
30 | }
31 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Source/VertexShaderDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "VertexShaderDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | VertexShaderDX11::VertexShaderDX11( ID3D11VertexShader* pShader )
18 | {
19 | m_pVertexShader = pShader;
20 | }
21 | //--------------------------------------------------------------------------------
22 | VertexShaderDX11::~VertexShaderDX11()
23 | {
24 | SAFE_RELEASE( m_pVertexShader );
25 | }
26 | //--------------------------------------------------------------------------------
27 | ShaderType VertexShaderDX11::GetType()
28 | {
29 | return( VERTEX_SHADER );
30 | }
31 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Include/Segment3f.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // Segment3f
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef Segment3f_h
16 | #define Segment3f_h
17 | //--------------------------------------------------------------------------------
18 | #include "Vector3f.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | struct Segment3f
23 | {
24 | public:
25 | Segment3f( );
26 | Segment3f( const Vector3f& P1, const Vector3f& P2 );
27 | ~Segment3f( );
28 |
29 | void Reverse();
30 |
31 | Vector3f p1;
32 | Vector3f p2;
33 | };
34 | };
35 | //--------------------------------------------------------------------------------
36 | #endif // Segment3f_h
37 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Source/Intersector.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "Intersector.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | Intersector::Intersector( )
18 | {
19 | }
20 | //--------------------------------------------------------------------------------
21 | Intersector::~Intersector()
22 | {
23 | }
24 | //--------------------------------------------------------------------------------
25 | bool Intersector::Test()
26 | {
27 | return( false );
28 | }
29 | //--------------------------------------------------------------------------------
30 | bool Intersector::Find()
31 | {
32 | return( false );
33 | }
34 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Include/EvtKeyUp.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // EvtKeyUp
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef EvtKeyUp_h
16 | #define EvtKeyUp_h
17 | //--------------------------------------------------------------------------------
18 | #include "EvtKeyboardMsg.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class EvtKeyUp : public EvtKeyboardMsg
23 | {
24 | public:
25 | EvtKeyUp( HWND hwnd, unsigned int wparam, long lparam );
26 | virtual ~EvtKeyUp( );
27 |
28 | virtual std::wstring GetEventName( );
29 | virtual eEVENT GetEventType( );
30 | };
31 |
32 | typedef std::shared_ptr EvtKeyUpPtr;
33 | };
34 | //--------------------------------------------------------------------------------
35 | #endif // EvtKeyUp_h
36 |
--------------------------------------------------------------------------------
/Include/Triangle3f.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // Triangle3f
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef Triangle3f_h
16 | #define Triangle3f_h
17 | //--------------------------------------------------------------------------------
18 | #include "Vector3f.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | struct Triangle3f
23 | {
24 | Triangle3f( );
25 | Triangle3f( const Vector3f& P1, const Vector3f& P2, const Vector3f& P3 );
26 | ~Triangle3f( );
27 |
28 | Vector3f p1;
29 | Vector3f p2;
30 | Vector3f p3;
31 | };
32 | };
33 | //--------------------------------------------------------------------------------
34 | #endif // Triangle3f_h
35 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Source/ComputeShaderDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "ComputeShaderDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | ComputeShaderDX11::ComputeShaderDX11( ID3D11ComputeShader* pShader )
18 | {
19 | m_pComputeShader = pShader;
20 | }
21 | //--------------------------------------------------------------------------------
22 | ComputeShaderDX11::~ComputeShaderDX11()
23 | {
24 | SAFE_RELEASE( m_pComputeShader );
25 | }
26 | //--------------------------------------------------------------------------------
27 | ShaderType ComputeShaderDX11::GetType()
28 | {
29 | return( COMPUTE_SHADER );
30 | }
31 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Include/LineIndices.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // LineIndices
13 | //
14 | // This class represents the two indices of a line.
15 | //--------------------------------------------------------------------------------
16 | #ifndef LineIndices_h
17 | #define LineIndices_h
18 | //--------------------------------------------------------------------------------
19 | namespace Glyph3
20 | {
21 | struct LineIndices
22 | {
23 | LineIndices();
24 | LineIndices( unsigned int I1, unsigned int I2 );
25 | ~LineIndices();
26 |
27 | LineIndices& operator= ( const LineIndices& Line );
28 |
29 | void swap12( );
30 |
31 | unsigned int i1;
32 | unsigned int i2;
33 | };
34 | };
35 | //--------------------------------------------------------------------------------
36 | #endif // LineIndices_h
37 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Applications/Data/Shaders/Skybox.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // Copyright (C) 2009 Jason Zink. All rights reserved.
3 | //--------------------------------------------------------------------------------
4 |
5 | TextureCube SkyboxTexture : register( t0 );
6 | SamplerState LinearSampler : register( s0 );
7 |
8 | cbuffer SkyboxData
9 | {
10 | matrix ViewMatrix;
11 | matrix ProjMatrix;
12 | float4 ViewPosition;
13 | };
14 |
15 | struct VS_INPUT
16 | {
17 | float3 position : POSITION;
18 | float2 tex : TEXCOORD0;
19 | };
20 |
21 | struct VS_OUTPUT
22 | {
23 | float4 position : SV_Position;
24 | float3 normal : NORMAL;
25 | };
26 |
27 |
28 | VS_OUTPUT VSMAIN( in VS_INPUT input )
29 | {
30 | VS_OUTPUT output;
31 |
32 | //float4 positionWS = float4( input.position.xyz + ViewPosition.xyz, 1.0f );
33 | float4 positionVS = mul( float4( input.position.xyz + ViewPosition.xyz, 1.0f ), ViewMatrix );
34 | //output.normal = positionVS.xyz;
35 | output.normal = input.position.xyz;
36 | output.position = mul( positionVS, ProjMatrix ).xyww;
37 |
38 | return output;
39 | }
40 |
41 |
42 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
43 | {
44 | float4 sampledColor = SkyboxTexture.Sample( LinearSampler, input.normal );
45 | //sampledColor = float4( 1.0f, 0.0f, 0.0f, 1.0f );
46 | return( sampledColor );
47 | }
48 |
49 |
--------------------------------------------------------------------------------
/Include/Animation.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // Animation
13 | //--------------------------------------------------------------------------------
14 | #ifndef Animation_h
15 | #define Animation_h
16 | //--------------------------------------------------------------------------------
17 | #include "PCH.h"
18 | #include "Vector3f.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class Animation
23 | {
24 | public:
25 | Animation();
26 | Animation( const std::wstring& name, float start, float stop );
27 |
28 | std::wstring m_Name;
29 | float m_fStartTime;
30 | float m_fEndTime;
31 | };
32 | };
33 | //--------------------------------------------------------------------------------
34 | #endif // Animation_h
35 | //--------------------------------------------------------------------------------
36 |
--------------------------------------------------------------------------------
/Source/ByteAddressBufferDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "ByteAddressBufferDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | ByteAddressBufferDX11::ByteAddressBufferDX11( Microsoft::WRL::ComPtr pBuffer )
18 | {
19 | m_pBuffer = pBuffer;
20 | }
21 | //--------------------------------------------------------------------------------
22 | ByteAddressBufferDX11::~ByteAddressBufferDX11()
23 | {
24 | }
25 | //--------------------------------------------------------------------------------
26 | ResourceType ByteAddressBufferDX11::GetType()
27 | {
28 | return( RT_BYTEADDRESSBUFFER );
29 | }
30 | //--------------------------------------------------------------------------------
31 |
--------------------------------------------------------------------------------
/Source/GeometryShaderDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "GeometryShaderDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | GeometryShaderDX11::GeometryShaderDX11( ID3D11GeometryShader* pShader )
18 | {
19 | m_pGeometryShader = pShader;
20 | }
21 | //--------------------------------------------------------------------------------
22 | GeometryShaderDX11::~GeometryShaderDX11()
23 | {
24 | SAFE_RELEASE( m_pGeometryShader );
25 | }
26 | //--------------------------------------------------------------------------------
27 | ShaderType GeometryShaderDX11::GetType()
28 | {
29 | return( GEOMETRY_SHADER );
30 | }
31 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Source/RenderTargetViewDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "RenderTargetViewDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | RenderTargetViewDX11::RenderTargetViewDX11( RenderTargetViewComPtr pView )
18 | {
19 | m_pRenderTargetView = pView;
20 | }
21 | //--------------------------------------------------------------------------------
22 | RenderTargetViewDX11::~RenderTargetViewDX11()
23 | {
24 | }
25 | //--------------------------------------------------------------------------------
26 | ID3D11RenderTargetView* RenderTargetViewDX11::GetRTV()
27 | {
28 | return( m_pRenderTargetView.Get() );
29 | }
30 | //--------------------------------------------------------------------------------
31 |
--------------------------------------------------------------------------------
/Include/EvtKeyDown.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // EvtKeyDown
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef EvtKeyDown_h
16 | #define EvtKeyDown_h
17 | //--------------------------------------------------------------------------------
18 | #include "EvtKeyboardMsg.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class EvtKeyDown : public EvtKeyboardMsg
23 | {
24 | public:
25 | EvtKeyDown( HWND hwnd, unsigned int wparam, long lparam );
26 | virtual ~EvtKeyDown( );
27 |
28 | virtual std::wstring GetEventName( );
29 | virtual eEVENT GetEventType( );
30 | };
31 |
32 | typedef std::shared_ptr EvtKeyDownPtr;
33 | };
34 | //--------------------------------------------------------------------------------
35 | #endif // EvtKeyDown_h
36 |
--------------------------------------------------------------------------------
/Source/Animation.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "Animation.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | //template class Glyph3::AnimationStream;
18 | //--------------------------------------------------------------------------------
19 | Animation::Animation() :
20 | m_Name( L"" ),
21 | m_fStartTime( 0 ),
22 | m_fEndTime( 0 )
23 | {
24 | };
25 | //--------------------------------------------------------------------------------
26 | Animation::Animation( const std::wstring& name, float start, float stop ) :
27 | m_Name( name ),
28 | m_fStartTime( start ),
29 | m_fEndTime( stop )
30 | {
31 | };
32 | //--------------------------------------------------------------------------------
33 |
--------------------------------------------------------------------------------
/Source/SwapChainDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "SwapChainDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | SwapChainDX11::SwapChainDX11( Microsoft::WRL::ComPtr pSwapChain, ResourcePtr resource )
18 | {
19 | m_pSwapChain = pSwapChain;
20 | m_Resource = resource;
21 | }
22 | //--------------------------------------------------------------------------------
23 | SwapChainDX11::~SwapChainDX11()
24 | {
25 | }
26 | //--------------------------------------------------------------------------------
27 | IDXGISwapChain* SwapChainDX11::GetSwapChain()
28 | {
29 | return( m_pSwapChain.Get() );
30 | }
31 | //--------------------------------------------------------------------------------
32 |
--------------------------------------------------------------------------------
/Include/EvtMouseMove.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // EvtMouseMove
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef EvtMouseMove_h
16 | #define EvtMouseMove_h
17 | //--------------------------------------------------------------------------------
18 | #include "EvtMouseMsg.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class EvtMouseMove : public EvtMouseMsg
23 | {
24 | public:
25 | EvtMouseMove( HWND hwnd, unsigned int wparam, long lparam );
26 | virtual ~EvtMouseMove( );
27 |
28 | virtual std::wstring GetEventName( );
29 | virtual eEVENT GetEventType( );
30 | };
31 |
32 | typedef std::shared_ptr EvtMouseMovePtr;
33 | };
34 | //--------------------------------------------------------------------------------
35 | #endif // EvtMouseMove_h
36 |
--------------------------------------------------------------------------------
/Source/DXGIAdapter.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "DXGIAdapter.h"
14 | #include "DXGIOutput.h"
15 | //--------------------------------------------------------------------------------
16 | using namespace Glyph3;
17 | //--------------------------------------------------------------------------------
18 | DXGIAdapter::DXGIAdapter( Microsoft::WRL::ComPtr pAdapter )
19 | {
20 | m_pAdapter = pAdapter;
21 |
22 | Microsoft::WRL::ComPtr pOutput;
23 |
24 | while ( pAdapter->EnumOutputs( m_vOutputs.size(), pOutput.ReleaseAndGetAddressOf() ) != DXGI_ERROR_NOT_FOUND )
25 | {
26 | m_vOutputs.push_back( pOutput );
27 | }
28 | }
29 | //--------------------------------------------------------------------------------
30 | DXGIAdapter::~DXGIAdapter()
31 | {
32 | }
33 | //--------------------------------------------------------------------------------
34 |
--------------------------------------------------------------------------------
/Include/GlyphRift/RiftController.inl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | template
13 | RiftController::RiftController( RiftHMDPtr hmd ) :
14 | m_Hmd( hmd )
15 | {
16 | }
17 | //--------------------------------------------------------------------------------
18 | template
19 | RiftController::~RiftController()
20 | {
21 | }
22 | //--------------------------------------------------------------------------------
23 | template
24 | void RiftController::Update( float fTime )
25 | {
26 | // This controller has one simple mission in life - if it is attached to an
27 | // entity, then it should get the orientation from the Rift and apply it to
28 | // the entity.
29 |
30 | if ( m_pEntity )
31 | {
32 | m_pEntity->Transform.Rotation() = m_Hmd->GetOrientation( 0.0 );
33 | }
34 | }
35 | //--------------------------------------------------------------------------------
36 |
--------------------------------------------------------------------------------
/Source/ShaderResourceViewDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "ShaderResourceViewDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | ShaderResourceViewDX11::ShaderResourceViewDX11( ShaderResourceViewComPtr pView )
18 | {
19 | m_pShaderResourceView = pView;
20 | }
21 | //--------------------------------------------------------------------------------
22 | ShaderResourceViewDX11::~ShaderResourceViewDX11()
23 | {
24 | }
25 | //--------------------------------------------------------------------------------
26 | ID3D11ShaderResourceView* ShaderResourceViewDX11::GetSRV()
27 | {
28 | return( m_pShaderResourceView.Get() );
29 | }
30 | //--------------------------------------------------------------------------------
31 |
--------------------------------------------------------------------------------
/Include/DXGIOutput.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // DXGIOutput
13 | //
14 | //--------------------------------------------------------------------------------
15 | #include "PCH.h"
16 | //--------------------------------------------------------------------------------
17 | #ifndef DXGIOutput_h
18 | #define DXGIOutput_h
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class DXGIOutput
23 | {
24 | public:
25 | DXGIOutput( Microsoft::WRL::ComPtr pOutput );
26 | virtual ~DXGIOutput();
27 |
28 | protected:
29 | Microsoft::WRL::ComPtr m_pOutput;
30 |
31 | friend class RendererDX11;
32 | };
33 | };
34 | //--------------------------------------------------------------------------------
35 | #endif // DXGIOutput_h
36 | //--------------------------------------------------------------------------------
37 |
38 |
--------------------------------------------------------------------------------
/Include/EvtMouseLeave.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // EvtMouseLeave
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef EvtMouseLeave_h
16 | #define EvtMouseLeave_h
17 | //--------------------------------------------------------------------------------
18 | #include "EvtMouseMsg.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class EvtMouseLeave : public EvtMouseMsg
23 | {
24 | public:
25 | EvtMouseLeave( HWND hwnd, unsigned int wparam, long lparam );
26 | virtual ~EvtMouseLeave( );
27 |
28 | virtual std::wstring GetEventName( );
29 | virtual eEVENT GetEventType( );
30 | };
31 |
32 | typedef std::shared_ptr EvtMouseLeavePtr;
33 | };
34 | //--------------------------------------------------------------------------------
35 | #endif // EvtMouseLeave_h
36 |
--------------------------------------------------------------------------------
/Include/StructuredBufferDX11.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // StructuredBufferDX11
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef StructuredBufferDX11_h
16 | #define StructuredBufferDX11_h
17 | //--------------------------------------------------------------------------------
18 | #include "BufferDX11.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class StructuredBufferDX11 : public BufferDX11
23 | {
24 | public:
25 | StructuredBufferDX11( Microsoft::WRL::ComPtr pBuffer );
26 | virtual ~StructuredBufferDX11();
27 |
28 | virtual ResourceType GetType();
29 |
30 | protected:
31 |
32 | friend RendererDX11;
33 | };
34 | };
35 | //--------------------------------------------------------------------------------
36 | #endif // StructuredBufferDX11_h
37 |
--------------------------------------------------------------------------------
/Include/ByteAddressBufferDX11.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // ByteAddressBufferDX11
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef ByteAddressBufferDX11_h
16 | #define ByteAddressBufferDX11_h
17 | //--------------------------------------------------------------------------------
18 | #include "BufferDX11.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class ByteAddressBufferDX11 : public BufferDX11
23 | {
24 | public:
25 | ByteAddressBufferDX11( Microsoft::WRL::ComPtr pBuffer );
26 | virtual ~ByteAddressBufferDX11();
27 |
28 | virtual ResourceType GetType();
29 |
30 | protected:
31 |
32 | friend RendererDX11;
33 | };
34 | };
35 | //--------------------------------------------------------------------------------
36 | #endif // ByteAddressBufferDX11_h
37 |
--------------------------------------------------------------------------------
/Include/GlyphRift/RiftManager.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // RiftManager
13 | //
14 | // This is a simple RAII style class for initializing and uninitializing the
15 | // Oculus SDK.
16 | //--------------------------------------------------------------------------------
17 | #ifndef RiftManager_h
18 | #define RiftManager_h
19 | //--------------------------------------------------------------------------------
20 | #include
21 | //--------------------------------------------------------------------------------
22 | namespace Glyph3
23 | {
24 | class RiftManager
25 | {
26 | public:
27 | RiftManager();
28 | ~RiftManager();
29 | };
30 |
31 | typedef std::shared_ptr RiftManagerPtr;
32 | }
33 | //--------------------------------------------------------------------------------
34 | #endif // RiftManager_h
35 | //--------------------------------------------------------------------------------
36 |
--------------------------------------------------------------------------------
/Applications/PhysicalRenderingSandbox/App.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 | #include "RenderApplication.h"
11 | #include "Actor.h"
12 | #include "GeometryActor.h"
13 | #include "TextActor.h"
14 | #include "PointLight.h"
15 | //--------------------------------------------------------------------------------
16 | using namespace Glyph3;
17 | //--------------------------------------------------------------------------------
18 | class App : public RenderApplication
19 | {
20 | public:
21 | App();
22 |
23 | public:
24 | virtual bool ConfigureEngineComponents();
25 | virtual void ShutdownEngineComponents();
26 |
27 | virtual void Initialize();
28 | virtual void Update();
29 | virtual void Shutdown();
30 |
31 | virtual bool HandleEvent( EventPtr pEvent );
32 | virtual std::wstring GetName( );
33 |
34 | protected:
35 | PointLight* m_pLight;
36 |
37 | GeometryActor* actors[10];
38 |
39 | TextActor* m_pTextActor;
40 | };
41 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Dependencies/lua-5.1.4/README.md:
--------------------------------------------------------------------------------
1 | # README for Lua 5.1
2 |
3 | See INSTALL for installation instructions.
4 | See HISTORY for a summary of changes since the last released version.
5 |
6 | ## What is Lua?
7 |
8 | Lua is a powerful, light-weight programming language designed for extending
9 | applications. Lua is also frequently used as a general-purpose, stand-alone
10 | language. Lua is free software.
11 |
12 | For complete information, visit Lua's web site at http://www.lua.org/ .
13 | For an executive summary, see http://www.lua.org/about.html .
14 |
15 | Lua has been used in many different projects around the world.
16 | For a short list, see http://www.lua.org/uses.html .
17 |
18 | ## Availability
19 |
20 | Lua is freely available for both academic and commercial purposes.
21 | See COPYRIGHT and http://www.lua.org/license.html for details.
22 | Lua can be downloaded at http://www.lua.org/download.html .
23 |
24 | ## Installation
25 |
26 | Lua is implemented in pure ANSI C, and compiles unmodified in all known
27 | platforms that have an ANSI C compiler. In most Unix-like platforms, simply
28 | do "make" with a suitable target. See INSTALL for detailed instructions.
29 |
30 | ## Origin
31 |
32 | Lua is developed at Lua.org, a laboratory of the Department of Computer
33 | Science of PUC-Rio (the Pontifical Catholic University of Rio de Janeiro
34 | in Brazil).
35 | For more information about the authors, see http://www.lua.org/authors.html .
36 |
--------------------------------------------------------------------------------
/Include/IndirectArgsBufferDX11.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // IndirectArgsBufferDX11
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef IndirectArgsBufferDX11_h
16 | #define IndirectArgsBufferDX11_h
17 | //--------------------------------------------------------------------------------
18 | #include "BufferDX11.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class IndirectArgsBufferDX11 : public BufferDX11
23 | {
24 | public:
25 | IndirectArgsBufferDX11( Microsoft::WRL::ComPtr pBuffer );
26 | virtual ~IndirectArgsBufferDX11();
27 |
28 | virtual ResourceType GetType();
29 |
30 | protected:
31 |
32 | friend RendererDX11;
33 | };
34 | };
35 | //--------------------------------------------------------------------------------
36 | #endif // IndirectArgsBufferDX11_h
37 |
--------------------------------------------------------------------------------
/Source/StructuredBufferDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "StructuredBufferDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | StructuredBufferDX11::StructuredBufferDX11( Microsoft::WRL::ComPtr pBuffer )
18 | {
19 | m_pBuffer = pBuffer;
20 | }
21 | //--------------------------------------------------------------------------------
22 | StructuredBufferDX11::~StructuredBufferDX11()
23 | {
24 | // Buffer is released in the BufferDX11 destructor
25 | }
26 | //--------------------------------------------------------------------------------
27 | ResourceType StructuredBufferDX11::GetType()
28 | {
29 | return( RT_STRUCTUREDBUFFER );
30 | }
31 | //--------------------------------------------------------------------------------
32 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/ImmediateGeometryTextured.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // FinalPS.hlsl
3 | //
4 | // This pixel shader samples the ambient occlusion buffer and uses its value to
5 | // modify the ambient term of a standard lighting equation.
6 | //
7 | // Copyright (C) 2009 Jason Zink. All rights reserved.
8 | //--------------------------------------------------------------------------------
9 |
10 | Texture2D ColorTexture : register( t0 );
11 | SamplerState LinearSampler : register( s0 );
12 |
13 | cbuffer TransformMatrices
14 | {
15 | matrix WorldViewProjMatrix;
16 | };
17 |
18 | struct VS_INPUT
19 | {
20 | float3 position : POSITION;
21 | float4 color : COLOR;
22 | float2 tex : TEXCOORD0;
23 | };
24 |
25 | struct VS_OUTPUT
26 | {
27 | float4 position : SV_Position;
28 | float4 color : COLOR;
29 | float2 tex : TEXCOORD0;
30 | };
31 |
32 |
33 | VS_OUTPUT VSMAIN( in VS_INPUT input )
34 | {
35 | VS_OUTPUT output;
36 |
37 | output.position = mul( float4( input.position, 1.0f ), WorldViewProjMatrix );
38 |
39 | output.color = input.color;
40 | output.tex = input.tex;
41 |
42 | return output;
43 | }
44 |
45 |
46 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
47 | {
48 | float4 sampledColor = ColorTexture.Sample( LinearSampler, input.tex );
49 | float4 mixedColor = sampledColor * input.color;
50 |
51 | return( mixedColor );
52 | }
53 |
54 |
--------------------------------------------------------------------------------
/Applications/MirrorMirror/ReflectiveSphereEntity.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // ReflectiveSphereEntity
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef ReflectiveSphereEntity_h
16 | #define ReflectiveSphereEntity_h
17 | //--------------------------------------------------------------------------------
18 | #include "Entity3D.h"
19 | #include "ViewParaboloidEnvMap.h"
20 | //--------------------------------------------------------------------------------
21 | namespace Glyph3
22 | {
23 | class ReflectiveSphereEntity : public Entity3D
24 | {
25 | public:
26 | ReflectiveSphereEntity( );
27 | virtual ~ReflectiveSphereEntity( );
28 |
29 | public:
30 | ViewParaboloidEnvMap* m_pParaboloidView;
31 | int m_iParaboloidSampler;
32 | };
33 | };
34 | //--------------------------------------------------------------------------------
35 | #endif // ReflectiveSphereEntity_h
36 |
--------------------------------------------------------------------------------
/Source/Segment3f.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "Segment3f.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | Segment3f::Segment3f()
18 | {
19 | }
20 | //--------------------------------------------------------------------------------
21 | Segment3f::Segment3f( const Vector3f& P1, const Vector3f& P2 )
22 | {
23 | p1 = P1;
24 | p2 = P2;
25 | }
26 | //--------------------------------------------------------------------------------
27 | Segment3f::~Segment3f()
28 | {
29 | }
30 | //--------------------------------------------------------------------------------
31 | void Segment3f::Reverse()
32 | {
33 | Vector3f temp = p1;
34 | p1 = p2;
35 | p2 = temp;
36 | }
37 | //--------------------------------------------------------------------------------
38 |
--------------------------------------------------------------------------------
/Applications/Kinect2Playground/App.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 | #include "RenderApplication.h"
11 | #include "PointLight.h"
12 | #include "GlyphKinect2\Kinect2Manager.h"
13 | #include "GlyphKinect2\Kinect2SkeletonActor.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | class App : public RenderApplication
18 | {
19 |
20 | public:
21 | App();
22 |
23 | virtual bool ConfigureEngineComponents();
24 | virtual void ShutdownEngineComponents();
25 |
26 | virtual void Initialize();
27 | virtual void Update();
28 | virtual void Shutdown();
29 |
30 | virtual bool HandleEvent( EventPtr pEvent );
31 | virtual std::wstring GetName( );
32 |
33 | protected:
34 | std::unique_ptr m_pKinectManager;
35 | PointLight* m_pLight;
36 | Kinect2SkeletonActor* m_pSkeletonActor;
37 | };
38 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Include/EvtMouseWheel.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // EvtMouseWheel
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef EvtMouseWheel_h
16 | #define EvtMouseWheel_h
17 | //--------------------------------------------------------------------------------
18 | #include "EvtMouseMsg.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class EvtMouseWheel : public EvtMouseMsg
23 | {
24 | public:
25 | EvtMouseWheel( HWND hwnd, unsigned int wparam, long lparam );
26 | virtual ~EvtMouseWheel( );
27 |
28 | virtual std::wstring GetEventName( );
29 | virtual eEVENT GetEventType( );
30 |
31 | int GetWheelDelta();
32 | };
33 |
34 | typedef std::shared_ptr EvtMouseWheelPtr;
35 | };
36 | //--------------------------------------------------------------------------------
37 | #endif // EvtMouseWheel_h
38 |
--------------------------------------------------------------------------------
/Source/ResourceDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "ResourceDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | unsigned short ResourceDX11::s_usResourceUID = 0;
18 | //--------------------------------------------------------------------------------
19 | ResourceDX11::ResourceDX11( )
20 | {
21 | m_usInnerID = s_usResourceUID;
22 | s_usResourceUID++;
23 | }
24 | //--------------------------------------------------------------------------------
25 | ResourceDX11::~ResourceDX11()
26 | {
27 | }
28 | //--------------------------------------------------------------------------------
29 | unsigned short ResourceDX11::GetInnerID()
30 | {
31 | return( m_usInnerID );
32 | }
33 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Include/EvtMouseLButtonUp.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // EvtMouseLButtonUp
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef EvtMouseLButtonUp_h
16 | #define EvtMouseLButtonUp_h
17 | //--------------------------------------------------------------------------------
18 | #include "EvtMouseMsg.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class EvtMouseLButtonUp : public EvtMouseMsg
23 | {
24 | public:
25 | EvtMouseLButtonUp( HWND hwnd, unsigned int wparam, long lparam );
26 | virtual ~EvtMouseLButtonUp( );
27 |
28 | virtual std::wstring GetEventName( );
29 | virtual eEVENT GetEventType( );
30 | };
31 |
32 | typedef std::shared_ptr EvtMouseLButtonUpPtr;
33 | };
34 | //--------------------------------------------------------------------------------
35 | #endif // EvtMouseLButtonUp_h
36 |
--------------------------------------------------------------------------------
/Include/EvtMouseMButtonUp.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // EvtMouseMButtonUp
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef EvtMouseMButtonUp_h
16 | #define EvtMouseMButtonUp_h
17 | //--------------------------------------------------------------------------------
18 | #include "EvtMouseMsg.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class EvtMouseMButtonUp : public EvtMouseMsg
23 | {
24 | public:
25 | EvtMouseMButtonUp( HWND hwnd, unsigned int wparam, long lparam );
26 | virtual ~EvtMouseMButtonUp( );
27 |
28 | virtual std::wstring GetEventName( );
29 | virtual eEVENT GetEventType( );
30 | };
31 |
32 | typedef std::shared_ptr EvtMouseMButtonUpPtr;
33 | };
34 | //--------------------------------------------------------------------------------
35 | #endif // EvtMouseMButtonUp_h
36 |
--------------------------------------------------------------------------------
/Include/EvtMouseRButtonUp.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // EvtMouseRButtonUp
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef EvtMouseRButtonUp_h
16 | #define EvtMouseRButtonUp_h
17 | //--------------------------------------------------------------------------------
18 | #include "EvtMouseMsg.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class EvtMouseRButtonUp : public EvtMouseMsg
23 | {
24 | public:
25 | EvtMouseRButtonUp( HWND hwnd, unsigned int wparam, long lparam );
26 | virtual ~EvtMouseRButtonUp( );
27 |
28 | virtual std::wstring GetEventName( );
29 | virtual eEVENT GetEventType( );
30 | };
31 |
32 | typedef std::shared_ptr EvtMouseRButtonUpPtr;
33 | };
34 | //--------------------------------------------------------------------------------
35 | #endif // EvtMouseRButtonUp_h
36 |
--------------------------------------------------------------------------------
/Include/TriangleIndices.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // TriangleIndices
13 | //
14 | // This class represents the three indices of a triangle.
15 | //--------------------------------------------------------------------------------
16 | #ifndef TriangleIndices_h
17 | #define TriangleIndices_h
18 | //--------------------------------------------------------------------------------
19 | namespace Glyph3
20 | {
21 | class TriangleIndices
22 | {
23 | public:
24 | TriangleIndices();
25 | TriangleIndices( unsigned int P1, unsigned int P2, unsigned int P3 );
26 | ~TriangleIndices();
27 |
28 | void swap12( );
29 | void swap23( );
30 | void swap31( );
31 |
32 | unsigned int i1;
33 | unsigned int i2;
34 | unsigned int i3;
35 | };
36 | };
37 | //--------------------------------------------------------------------------------
38 | #endif // TriangleIndices_h
39 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Source/IndirectArgsBufferDX11.cpp:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | #include "PCH.h"
13 | #include "IndirectArgsBufferDX11.h"
14 | //--------------------------------------------------------------------------------
15 | using namespace Glyph3;
16 | //--------------------------------------------------------------------------------
17 | IndirectArgsBufferDX11::IndirectArgsBufferDX11( Microsoft::WRL::ComPtr pBuffer )
18 | {
19 | m_pBuffer = pBuffer;
20 | }
21 | //--------------------------------------------------------------------------------
22 | IndirectArgsBufferDX11::~IndirectArgsBufferDX11()
23 | {
24 | // m_pBuffer is released in the BufferDX11 destructor
25 | }
26 | //--------------------------------------------------------------------------------
27 | ResourceType IndirectArgsBufferDX11::GetType()
28 | {
29 | return( RT_INDIRECTARGSBUFFER );
30 | }
31 | //--------------------------------------------------------------------------------
32 |
--------------------------------------------------------------------------------
/Include/BezierCubic.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 |
12 | //--------------------------------------------------------------------------------
13 | // BezierCubic
14 | //
15 | //--------------------------------------------------------------------------------
16 | #ifndef BezierCubic_h
17 | #define BezierCubic_h
18 | //--------------------------------------------------------------------------------
19 | #include
20 | #include "Vector3f.h"
21 | //--------------------------------------------------------------------------------
22 | namespace Glyph3
23 | {
24 | class BezierCubic
25 | {
26 | public:
27 | BezierCubic();
28 | ~BezierCubic();
29 |
30 | Vector3f sample( float u ) const;
31 | Vector3f sample_normal( float u ) const;
32 | Vector3f sample_tangent( float u ) const;
33 |
34 | std::array points;
35 | };
36 | };
37 | //--------------------------------------------------------------------------------
38 | #endif // BezierCubic_h
39 | //--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/Extensions/GlyphCLR/AssemblyInfo.cpp:
--------------------------------------------------------------------------------
1 |
2 | using namespace System;
3 | using namespace System::Reflection;
4 | using namespace System::Runtime::CompilerServices;
5 | using namespace System::Runtime::InteropServices;
6 | using namespace System::Security::Permissions;
7 |
8 | //
9 | // General Information about an assembly is controlled through the following
10 | // set of attributes. Change these attribute values to modify the information
11 | // associated with an assembly.
12 | //
13 | [assembly:AssemblyTitleAttribute("GlyphCLR")];
14 | [assembly:AssemblyDescriptionAttribute("")];
15 | [assembly:AssemblyConfigurationAttribute("")];
16 | [assembly:AssemblyCompanyAttribute("Jason Zink")];
17 | [assembly:AssemblyProductAttribute("GlyphCLR")];
18 | [assembly:AssemblyCopyrightAttribute("Copyright (c) Jason Zink 2014")];
19 | [assembly:AssemblyTrademarkAttribute("")];
20 | [assembly:AssemblyCultureAttribute("")];
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 value or you can default the Revision and Build Numbers
31 | // by using the '*' as shown below:
32 |
33 | [assembly:AssemblyVersionAttribute("1.0.*")];
34 |
35 | [assembly:ComVisible(false)];
36 |
37 | [assembly:CLSCompliantAttribute(true)];
38 |
39 | [assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];
40 |
--------------------------------------------------------------------------------
/Extensions/GlyphWPF/AssemblyInfo.cpp:
--------------------------------------------------------------------------------
1 |
2 | using namespace System;
3 | using namespace System::Reflection;
4 | using namespace System::Runtime::CompilerServices;
5 | using namespace System::Runtime::InteropServices;
6 | using namespace System::Security::Permissions;
7 |
8 | //
9 | // General Information about an assembly is controlled through the following
10 | // set of attributes. Change these attribute values to modify the information
11 | // associated with an assembly.
12 | //
13 | [assembly:AssemblyTitleAttribute("GlyphWPF")];
14 | [assembly:AssemblyDescriptionAttribute("")];
15 | [assembly:AssemblyConfigurationAttribute("")];
16 | [assembly:AssemblyCompanyAttribute("Jason Zink")];
17 | [assembly:AssemblyProductAttribute("GlyphWPF")];
18 | [assembly:AssemblyCopyrightAttribute("Copyright (c) Jason Zink 2014")];
19 | [assembly:AssemblyTrademarkAttribute("")];
20 | [assembly:AssemblyCultureAttribute("")];
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 value or you can default the Revision and Build Numbers
31 | // by using the '*' as shown below:
32 |
33 | [assembly:AssemblyVersionAttribute("1.0.*")];
34 |
35 | [assembly:ComVisible(false)];
36 |
37 | [assembly:CLSCompliantAttribute(true)];
38 |
39 | [assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];
40 |
--------------------------------------------------------------------------------
/Include/SamplerStateConfigDX11.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // SamplerStateConfigDX11
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef SamplerStateConfigDX11_h
16 | #define SamplerStateConfigDX11_h
17 | //--------------------------------------------------------------------------------
18 | #include "RendererDX11.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class SamplerStateConfigDX11 : public D3D11_SAMPLER_DESC
23 | {
24 | public:
25 | SamplerStateConfigDX11();
26 | ~SamplerStateConfigDX11();
27 |
28 | void SetDefaults();
29 |
30 | protected:
31 |
32 | friend RendererDX11;
33 | };
34 | };
35 | //--------------------------------------------------------------------------------
36 | #endif // SamplerStateConfigDX11_h
37 | //--------------------------------------------------------------------------------
38 |
39 |
--------------------------------------------------------------------------------
/Applications/Data/Shaders/AlphaTestTextured.hlsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // FinalPS.hlsl
3 | //
4 | // This pixel shader samples the ambient occlusion buffer and uses its value to
5 | // modify the ambient term of a standard lighting equation.
6 | //
7 | // Copyright (C) 2009 Jason Zink. All rights reserved.
8 | //--------------------------------------------------------------------------------
9 |
10 | Texture2D ColorTexture : register( t0 );
11 | SamplerState LinearSampler : register( s0 );
12 |
13 | cbuffer TransformMatrices
14 | {
15 | matrix WorldViewProjMatrix;
16 | };
17 |
18 | struct VS_INPUT
19 | {
20 | float3 position : POSITION;
21 | float4 color : COLOR;
22 | float2 tex : TEXCOORD0;
23 | };
24 |
25 | struct VS_OUTPUT
26 | {
27 | float4 position : SV_Position;
28 | float4 color : COLOR;
29 | float2 tex : TEXCOORD0;
30 | };
31 |
32 |
33 | VS_OUTPUT VSMAIN( in VS_INPUT input )
34 | {
35 | VS_OUTPUT output;
36 |
37 | output.position = mul( float4( input.position, 1.0f ), WorldViewProjMatrix );
38 |
39 | output.color = input.color;
40 | output.tex = input.tex;
41 |
42 | return output;
43 | }
44 |
45 |
46 | float4 PSMAIN( in VS_OUTPUT input ) : SV_Target
47 | {
48 | float4 sampledColor = ColorTexture.Sample( LinearSampler, input.tex );
49 | float4 mixedColor = sampledColor * input.color;
50 |
51 | clip( mixedColor.a - 0.01f );
52 |
53 | return( mixedColor );
54 | }
55 |
56 |
--------------------------------------------------------------------------------
/Include/EvtFrameStart.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // EvtFrameStart
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef EvtFrameStart_h
16 | #define EvtFrameStart_h
17 | //--------------------------------------------------------------------------------
18 | #include "IEvent.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class Timer;
23 |
24 | class EvtFrameStart : public IEvent
25 | {
26 | public:
27 | EvtFrameStart( float dt );
28 | virtual ~EvtFrameStart( );
29 |
30 | virtual std::wstring GetEventName( );
31 | virtual eEVENT GetEventType( );
32 |
33 | float GetElapsed();
34 |
35 | protected:
36 | float m_fDelta;
37 | };
38 |
39 | typedef std::shared_ptr EvtFrameStartPtr;
40 | };
41 | //--------------------------------------------------------------------------------
42 | #endif // EvtFrameStart_h
43 |
--------------------------------------------------------------------------------
/Include/EvtMouseLButtonDown.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // EvtMouseLButtonDown
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef EvtMouseLButtonDown_h
16 | #define EvtMouseLButtonDown_h
17 | //--------------------------------------------------------------------------------
18 | #include "EvtMouseMsg.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class EvtMouseLButtonDown : public EvtMouseMsg
23 | {
24 | public:
25 | EvtMouseLButtonDown( HWND hwnd, unsigned int wparam, long lparam );
26 | virtual ~EvtMouseLButtonDown( );
27 |
28 | virtual std::wstring GetEventName( );
29 | virtual eEVENT GetEventType( );
30 | };
31 |
32 | typedef std::shared_ptr EvtMouseLButtonDownPtr;
33 | };
34 | //--------------------------------------------------------------------------------
35 | #endif // EvtMouseLButtonDown_h
36 |
--------------------------------------------------------------------------------
/Include/EvtMouseMButtonDown.h:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // This file is a portion of the Hieroglyph 3 Rendering Engine. It is distributed
3 | // under the MIT License, available in the root of this distribution and
4 | // at the following URL:
5 | //
6 | // http://www.opensource.org/licenses/mit-license.php
7 | //
8 | // Copyright (c) Jason Zink
9 | //--------------------------------------------------------------------------------
10 |
11 | //--------------------------------------------------------------------------------
12 | // EvtMouseMButtonDown
13 | //
14 | //--------------------------------------------------------------------------------
15 | #ifndef EvtMouseMButtonDown_h
16 | #define EvtMouseMButtonDown_h
17 | //--------------------------------------------------------------------------------
18 | #include "EvtMouseMsg.h"
19 | //--------------------------------------------------------------------------------
20 | namespace Glyph3
21 | {
22 | class EvtMouseMButtonDown : public EvtMouseMsg
23 | {
24 | public:
25 | EvtMouseMButtonDown( HWND hwnd, unsigned int wparam, long lparam );
26 | virtual ~EvtMouseMButtonDown( );
27 |
28 | virtual std::wstring GetEventName( );
29 | virtual eEVENT GetEventType( );
30 | };
31 |
32 | typedef std::shared_ptr EvtMouseMButtonDownPtr;
33 | };
34 | //--------------------------------------------------------------------------------
35 | #endif // EvtMouseMButtonDown_h
36 |
--------------------------------------------------------------------------------