initial commit
This commit is contained in:
		
						commit
						05604fd4da
					
				
							
								
								
									
										364
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										364
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,364 @@ | |||||||
|  | dist/ | ||||||
|  | 
 | ||||||
|  | ## Ignore Visual Studio temporary files, build results, and | ||||||
|  | ## files generated by popular Visual Studio add-ons. | ||||||
|  | ## | ||||||
|  | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore | ||||||
|  | 
 | ||||||
|  | # User-specific files | ||||||
|  | *.rsuser | ||||||
|  | *.suo | ||||||
|  | *.user | ||||||
|  | *.userosscache | ||||||
|  | *.sln.docstates | ||||||
|  | 
 | ||||||
|  | # User-specific files (MonoDevelop/Xamarin Studio) | ||||||
|  | *.userprefs | ||||||
|  | 
 | ||||||
|  | # Mono auto generated files | ||||||
|  | mono_crash.* | ||||||
|  | 
 | ||||||
|  | # Build results | ||||||
|  | [Dd]ebug/ | ||||||
|  | [Dd]ebugPublic/ | ||||||
|  | [Rr]elease/ | ||||||
|  | [Rr]eleases/ | ||||||
|  | x64/ | ||||||
|  | x86/ | ||||||
|  | [Ww][Ii][Nn]32/ | ||||||
|  | [Aa][Rr][Mm]/ | ||||||
|  | [Aa][Rr][Mm]64/ | ||||||
|  | bld/ | ||||||
|  | [Bb]in/ | ||||||
|  | [Oo]bj/ | ||||||
|  | [Ll]og/ | ||||||
|  | [Ll]ogs/ | ||||||
|  | 
 | ||||||
|  | # Visual Studio 2015/2017 cache/options directory | ||||||
|  | .vs/ | ||||||
|  | # Uncomment if you have tasks that create the project's static files in wwwroot | ||||||
|  | #wwwroot/ | ||||||
|  | 
 | ||||||
|  | # Visual Studio 2017 auto generated files | ||||||
|  | Generated\ Files/ | ||||||
|  | 
 | ||||||
|  | # MSTest test Results | ||||||
|  | [Tt]est[Rr]esult*/ | ||||||
|  | [Bb]uild[Ll]og.* | ||||||
|  | 
 | ||||||
|  | # NUnit | ||||||
|  | *.VisualState.xml | ||||||
|  | TestResult.xml | ||||||
|  | nunit-*.xml | ||||||
|  | 
 | ||||||
|  | # Build Results of an ATL Project | ||||||
|  | [Dd]ebugPS/ | ||||||
|  | [Rr]eleasePS/ | ||||||
|  | dlldata.c | ||||||
|  | 
 | ||||||
|  | # Benchmark Results | ||||||
|  | BenchmarkDotNet.Artifacts/ | ||||||
|  | 
 | ||||||
|  | # .NET Core | ||||||
|  | project.lock.json | ||||||
|  | project.fragment.lock.json | ||||||
|  | artifacts/ | ||||||
|  | 
 | ||||||
|  | # ASP.NET Scaffolding | ||||||
|  | ScaffoldingReadMe.txt | ||||||
|  | 
 | ||||||
|  | # StyleCop | ||||||
|  | StyleCopReport.xml | ||||||
|  | 
 | ||||||
|  | # Files built by Visual Studio | ||||||
|  | *_i.c | ||||||
|  | *_p.c | ||||||
|  | *_h.h | ||||||
|  | *.ilk | ||||||
|  | *.meta | ||||||
|  | *.obj | ||||||
|  | *.iobj | ||||||
|  | *.pch | ||||||
|  | *.pdb | ||||||
|  | *.ipdb | ||||||
|  | *.pgc | ||||||
|  | *.pgd | ||||||
|  | *.rsp | ||||||
|  | *.sbr | ||||||
|  | *.tlb | ||||||
|  | *.tli | ||||||
|  | *.tlh | ||||||
|  | *.tmp | ||||||
|  | *.tmp_proj | ||||||
|  | *_wpftmp.csproj | ||||||
|  | *.log | ||||||
|  | *.vspscc | ||||||
|  | *.vssscc | ||||||
|  | .builds | ||||||
|  | *.pidb | ||||||
|  | *.svclog | ||||||
|  | *.scc | ||||||
|  | 
 | ||||||
|  | # Chutzpah Test files | ||||||
|  | _Chutzpah* | ||||||
|  | 
 | ||||||
|  | # Visual C++ cache files | ||||||
|  | ipch/ | ||||||
|  | *.aps | ||||||
|  | *.ncb | ||||||
|  | *.opendb | ||||||
|  | *.opensdf | ||||||
|  | *.sdf | ||||||
|  | *.cachefile | ||||||
|  | *.VC.db | ||||||
|  | *.VC.VC.opendb | ||||||
|  | 
 | ||||||
|  | # Visual Studio profiler | ||||||
|  | *.psess | ||||||
|  | *.vsp | ||||||
|  | *.vspx | ||||||
|  | *.sap | ||||||
|  | 
 | ||||||
|  | # Visual Studio Trace Files | ||||||
|  | *.e2e | ||||||
|  | 
 | ||||||
|  | # TFS 2012 Local Workspace | ||||||
|  | $tf/ | ||||||
|  | 
 | ||||||
|  | # Guidance Automation Toolkit | ||||||
|  | *.gpState | ||||||
|  | 
 | ||||||
|  | # ReSharper is a .NET coding add-in | ||||||
|  | _ReSharper*/ | ||||||
|  | *.[Rr]e[Ss]harper | ||||||
|  | *.DotSettings.user | ||||||
|  | 
 | ||||||
|  | # TeamCity is a build add-in | ||||||
|  | _TeamCity* | ||||||
|  | 
 | ||||||
|  | # DotCover is a Code Coverage Tool | ||||||
|  | *.dotCover | ||||||
|  | 
 | ||||||
|  | # AxoCover is a Code Coverage Tool | ||||||
|  | .axoCover/* | ||||||
|  | !.axoCover/settings.json | ||||||
|  | 
 | ||||||
|  | # Coverlet is a free, cross platform Code Coverage Tool | ||||||
|  | coverage*.json | ||||||
|  | coverage*.xml | ||||||
|  | coverage*.info | ||||||
|  | 
 | ||||||
|  | # Visual Studio code coverage results | ||||||
|  | *.coverage | ||||||
|  | *.coveragexml | ||||||
|  | 
 | ||||||
|  | # NCrunch | ||||||
|  | _NCrunch_* | ||||||
|  | .*crunch*.local.xml | ||||||
|  | nCrunchTemp_* | ||||||
|  | 
 | ||||||
|  | # MightyMoose | ||||||
|  | *.mm.* | ||||||
|  | AutoTest.Net/ | ||||||
|  | 
 | ||||||
|  | # Web workbench (sass) | ||||||
|  | .sass-cache/ | ||||||
|  | 
 | ||||||
|  | # Installshield output folder | ||||||
|  | [Ee]xpress/ | ||||||
|  | 
 | ||||||
|  | # DocProject is a documentation generator add-in | ||||||
|  | DocProject/buildhelp/ | ||||||
|  | DocProject/Help/*.HxT | ||||||
|  | DocProject/Help/*.HxC | ||||||
|  | DocProject/Help/*.hhc | ||||||
|  | DocProject/Help/*.hhk | ||||||
|  | DocProject/Help/*.hhp | ||||||
|  | DocProject/Help/Html2 | ||||||
|  | DocProject/Help/html | ||||||
|  | 
 | ||||||
|  | # Click-Once directory | ||||||
|  | publish/ | ||||||
|  | 
 | ||||||
|  | # Publish Web Output | ||||||
|  | *.[Pp]ublish.xml | ||||||
|  | *.azurePubxml | ||||||
|  | # Note: Comment the next line if you want to checkin your web deploy settings, | ||||||
|  | # but database connection strings (with potential passwords) will be unencrypted | ||||||
|  | *.pubxml | ||||||
|  | *.publishproj | ||||||
|  | 
 | ||||||
|  | # Microsoft Azure Web App publish settings. Comment the next line if you want to | ||||||
|  | # checkin your Azure Web App publish settings, but sensitive information contained | ||||||
|  | # in these scripts will be unencrypted | ||||||
|  | PublishScripts/ | ||||||
|  | 
 | ||||||
|  | # NuGet Packages | ||||||
|  | *.nupkg | ||||||
|  | # NuGet Symbol Packages | ||||||
|  | *.snupkg | ||||||
|  | # The packages folder can be ignored because of Package Restore | ||||||
|  | **/[Pp]ackages/* | ||||||
|  | # except build/, which is used as an MSBuild target. | ||||||
|  | !**/[Pp]ackages/build/ | ||||||
|  | # Uncomment if necessary however generally it will be regenerated when needed | ||||||
|  | #!**/[Pp]ackages/repositories.config | ||||||
|  | # NuGet v3's project.json files produces more ignorable files | ||||||
|  | *.nuget.props | ||||||
|  | *.nuget.targets | ||||||
|  | 
 | ||||||
|  | # Microsoft Azure Build Output | ||||||
|  | csx/ | ||||||
|  | *.build.csdef | ||||||
|  | 
 | ||||||
|  | # Microsoft Azure Emulator | ||||||
|  | ecf/ | ||||||
|  | rcf/ | ||||||
|  | 
 | ||||||
|  | # Windows Store app package directories and files | ||||||
|  | AppPackages/ | ||||||
|  | BundleArtifacts/ | ||||||
|  | Package.StoreAssociation.xml | ||||||
|  | _pkginfo.txt | ||||||
|  | *.appx | ||||||
|  | *.appxbundle | ||||||
|  | *.appxupload | ||||||
|  | 
 | ||||||
|  | # Visual Studio cache files | ||||||
|  | # files ending in .cache can be ignored | ||||||
|  | *.[Cc]ache | ||||||
|  | # but keep track of directories ending in .cache | ||||||
|  | !?*.[Cc]ache/ | ||||||
|  | 
 | ||||||
|  | # Others | ||||||
|  | ClientBin/ | ||||||
|  | ~$* | ||||||
|  | *~ | ||||||
|  | *.dbmdl | ||||||
|  | *.dbproj.schemaview | ||||||
|  | *.jfm | ||||||
|  | *.pfx | ||||||
|  | *.publishsettings | ||||||
|  | orleans.codegen.cs | ||||||
|  | 
 | ||||||
|  | # Including strong name files can present a security risk | ||||||
|  | # (https://github.com/github/gitignore/pull/2483#issue-259490424) | ||||||
|  | #*.snk | ||||||
|  | 
 | ||||||
|  | # Since there are multiple workflows, uncomment next line to ignore bower_components | ||||||
|  | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) | ||||||
|  | #bower_components/ | ||||||
|  | 
 | ||||||
|  | # RIA/Silverlight projects | ||||||
|  | Generated_Code/ | ||||||
|  | 
 | ||||||
|  | # Backup & report files from converting an old project file | ||||||
|  | # to a newer Visual Studio version. Backup files are not needed, | ||||||
|  | # because we have git ;-) | ||||||
|  | _UpgradeReport_Files/ | ||||||
|  | Backup*/ | ||||||
|  | UpgradeLog*.XML | ||||||
|  | UpgradeLog*.htm | ||||||
|  | ServiceFabricBackup/ | ||||||
|  | *.rptproj.bak | ||||||
|  | 
 | ||||||
|  | # SQL Server files | ||||||
|  | *.mdf | ||||||
|  | *.ldf | ||||||
|  | *.ndf | ||||||
|  | 
 | ||||||
|  | # Business Intelligence projects | ||||||
|  | *.rdl.data | ||||||
|  | *.bim.layout | ||||||
|  | *.bim_*.settings | ||||||
|  | *.rptproj.rsuser | ||||||
|  | *- [Bb]ackup.rdl | ||||||
|  | *- [Bb]ackup ([0-9]).rdl | ||||||
|  | *- [Bb]ackup ([0-9][0-9]).rdl | ||||||
|  | 
 | ||||||
|  | # Microsoft Fakes | ||||||
|  | FakesAssemblies/ | ||||||
|  | 
 | ||||||
|  | # GhostDoc plugin setting file | ||||||
|  | *.GhostDoc.xml | ||||||
|  | 
 | ||||||
|  | # Node.js Tools for Visual Studio | ||||||
|  | .ntvs_analysis.dat | ||||||
|  | node_modules/ | ||||||
|  | 
 | ||||||
|  | # Visual Studio 6 build log | ||||||
|  | *.plg | ||||||
|  | 
 | ||||||
|  | # Visual Studio 6 workspace options file | ||||||
|  | *.opt | ||||||
|  | 
 | ||||||
|  | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) | ||||||
|  | *.vbw | ||||||
|  | 
 | ||||||
|  | # Visual Studio LightSwitch build output | ||||||
|  | **/*.HTMLClient/GeneratedArtifacts | ||||||
|  | **/*.DesktopClient/GeneratedArtifacts | ||||||
|  | **/*.DesktopClient/ModelManifest.xml | ||||||
|  | **/*.Server/GeneratedArtifacts | ||||||
|  | **/*.Server/ModelManifest.xml | ||||||
|  | _Pvt_Extensions | ||||||
|  | 
 | ||||||
|  | # Paket dependency manager | ||||||
|  | .paket/paket.exe | ||||||
|  | paket-files/ | ||||||
|  | 
 | ||||||
|  | # FAKE - F# Make | ||||||
|  | .fake/ | ||||||
|  | 
 | ||||||
|  | # CodeRush personal settings | ||||||
|  | .cr/personal | ||||||
|  | 
 | ||||||
|  | # Python Tools for Visual Studio (PTVS) | ||||||
|  | __pycache__/ | ||||||
|  | *.pyc | ||||||
|  | 
 | ||||||
|  | # Cake - Uncomment if you are using it | ||||||
|  | # tools/** | ||||||
|  | # !tools/packages.config | ||||||
|  | 
 | ||||||
|  | # Tabs Studio | ||||||
|  | *.tss | ||||||
|  | 
 | ||||||
|  | # Telerik's JustMock configuration file | ||||||
|  | *.jmconfig | ||||||
|  | 
 | ||||||
|  | # BizTalk build output | ||||||
|  | *.btp.cs | ||||||
|  | *.btm.cs | ||||||
|  | *.odx.cs | ||||||
|  | *.xsd.cs | ||||||
|  | 
 | ||||||
|  | # OpenCover UI analysis results | ||||||
|  | OpenCover/ | ||||||
|  | 
 | ||||||
|  | # Azure Stream Analytics local run output | ||||||
|  | ASALocalRun/ | ||||||
|  | 
 | ||||||
|  | # MSBuild Binary and Structured Log | ||||||
|  | *.binlog | ||||||
|  | 
 | ||||||
|  | # NVidia Nsight GPU debugger configuration file | ||||||
|  | *.nvuser | ||||||
|  | 
 | ||||||
|  | # MFractors (Xamarin productivity tool) working folder | ||||||
|  | .mfractor/ | ||||||
|  | 
 | ||||||
|  | # Local History for Visual Studio | ||||||
|  | .localhistory/ | ||||||
|  | 
 | ||||||
|  | # BeatPulse healthcheck temp database | ||||||
|  | healthchecksdb | ||||||
|  | 
 | ||||||
|  | # Backup folder for Package Reference Convert tool in Visual Studio 2017 | ||||||
|  | MigrationBackup/ | ||||||
|  | 
 | ||||||
|  | # Ionide (cross platform F# VS Code tools) working folder | ||||||
|  | .ionide/ | ||||||
|  | 
 | ||||||
|  | # Fody - auto-generated XML schema | ||||||
|  | FodyWeavers.xsd | ||||||
							
								
								
									
										20
									
								
								FemboyGeometry.sln
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								FemboyGeometry.sln
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | |||||||
|  |  | ||||||
|  | Microsoft Visual Studio Solution File, Format Version 11.00 | ||||||
|  | # Visual Studio 2010 | ||||||
|  | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FemboyGeometry", "FemboyGeometry\FemboyGeometry.vcxproj", "{23F4B47A-7836-427C-A7CD-6D430B3DE504}" | ||||||
|  | EndProject | ||||||
|  | Global | ||||||
|  | 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||||
|  | 		Debug|Win32 = Debug|Win32 | ||||||
|  | 		Release|Win32 = Release|Win32 | ||||||
|  | 	EndGlobalSection | ||||||
|  | 	GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||||||
|  | 		{23F4B47A-7836-427C-A7CD-6D430B3DE504}.Debug|Win32.ActiveCfg = Debug|Win32 | ||||||
|  | 		{23F4B47A-7836-427C-A7CD-6D430B3DE504}.Debug|Win32.Build.0 = Debug|Win32 | ||||||
|  | 		{23F4B47A-7836-427C-A7CD-6D430B3DE504}.Release|Win32.ActiveCfg = Release|Win32 | ||||||
|  | 		{23F4B47A-7836-427C-A7CD-6D430B3DE504}.Release|Win32.Build.0 = Release|Win32 | ||||||
|  | 	EndGlobalSection | ||||||
|  | 	GlobalSection(SolutionProperties) = preSolution | ||||||
|  | 		HideSolutionNode = FALSE | ||||||
|  | 	EndGlobalSection | ||||||
|  | EndGlobal | ||||||
							
								
								
									
										62
									
								
								FemboyGeometry/FemboyGeometry.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								FemboyGeometry/FemboyGeometry.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,62 @@ | |||||||
|  | #include <iostream> | ||||||
|  | 
 | ||||||
|  | #ifdef _WIN32 | ||||||
|  | #include <windows.h> | ||||||
|  | #endif | ||||||
|  | #include <gl/GL.h> | ||||||
|  | #include <gl/GLU.h> | ||||||
|  | #include <gl/GLUT.h> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | void display(void) | ||||||
|  | { | ||||||
|  | /*  clear all pixels  */ | ||||||
|  |     glClear (GL_COLOR_BUFFER_BIT); | ||||||
|  | 
 | ||||||
|  | /*  draw white polygon (rectangle) with corners at
 | ||||||
|  |  *  (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)   | ||||||
|  |  */ | ||||||
|  |     glColor3f (1.0, 1.0, 1.0); | ||||||
|  |     glBegin(GL_POLYGON); | ||||||
|  |         glVertex3f (0.25, 0.25, 0.0); | ||||||
|  |         glVertex3f (0.75, 0.25, 0.0); | ||||||
|  |         glVertex3f (0.75, 0.75, 0.0); | ||||||
|  |         glVertex3f (0.25, 0.75, 0.0); | ||||||
|  |     glEnd(); | ||||||
|  | 
 | ||||||
|  | /*  don't wait!  
 | ||||||
|  |  *  start processing buffered OpenGL routines  | ||||||
|  |  */ | ||||||
|  |     glFlush (); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void init (void)  | ||||||
|  | { | ||||||
|  | /*  select clearing (background) color       */ | ||||||
|  |     glClearColor (0.0, 0.0, 0.0, 0.0); | ||||||
|  | 
 | ||||||
|  | /*  initialize viewing values  */ | ||||||
|  |     glMatrixMode(GL_PROJECTION); | ||||||
|  |     glLoadIdentity(); | ||||||
|  |     glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* 
 | ||||||
|  |  *  Declare initial window size, position, and display mode | ||||||
|  |  *  (single buffer and RGBA).  Open window with "hello" | ||||||
|  |  *  in its title bar.  Call initialization routines. | ||||||
|  |  *  Register callback function to display graphics. | ||||||
|  |  *  Enter main loop and process events. | ||||||
|  |  */ | ||||||
|  | int main(int argc, char** argv) | ||||||
|  | { | ||||||
|  |     glutInit(&argc, argv); | ||||||
|  |     glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); | ||||||
|  |     glutInitWindowSize (250, 250);  | ||||||
|  |     glutInitWindowPosition (100, 100); | ||||||
|  |     glutCreateWindow ("hello"); | ||||||
|  |     init (); | ||||||
|  |     glutDisplayFunc(display);  | ||||||
|  |     glutMainLoop(); | ||||||
|  |     return 0;   /* ISO C requires main to return int. */ | ||||||
|  | } | ||||||
							
								
								
									
										78
									
								
								FemboyGeometry/FemboyGeometry.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								FemboyGeometry/FemboyGeometry.vcxproj
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,78 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup Label="ProjectConfigurations"> | ||||||
|  |     <ProjectConfiguration Include="Debug|Win32"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|Win32"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <PropertyGroup Label="Globals"> | ||||||
|  |     <ProjectGuid>{23F4B47A-7836-427C-A7CD-6D430B3DE504}</ProjectGuid> | ||||||
|  |     <RootNamespace>FemboyGeometry</RootNamespace> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>true</UseDebugLibraries> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>false</UseDebugLibraries> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |     <CharacterSet>MultiByte</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||||||
|  |   <ImportGroup Label="ExtensionSettings"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <PropertyGroup Label="UserMacros" /> | ||||||
|  |   <PropertyGroup /> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <Optimization>Disabled</Optimization> | ||||||
|  |       <AdditionalIncludeDirectories>$(SolutionDir)thirdparty\freeglut\include</AdditionalIncludeDirectories> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <AdditionalLibraryDirectories>$(SolutionDir)thirdparty\freeglut\lib</AdditionalLibraryDirectories> | ||||||
|  |     </Link> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>xcopy /y /d  "$(SolutionDir)thirdparty\freeglut\bin\*.dll" "$(OutDir)"</Command> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <Optimization>MaxSpeed</Optimization> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <AdditionalIncludeDirectories>$(SolutionDir)thirdparty\freeglut\include</AdditionalIncludeDirectories> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <AdditionalLibraryDirectories>$(SolutionDir)thirdparty\freeglut\lib</AdditionalLibraryDirectories> | ||||||
|  |     </Link> | ||||||
|  |     <PostBuildEvent> | ||||||
|  |       <Command>xcopy /y /d  "$(ProjectDir)thirdparty\freeglut\bin\*.dll" "$(ProjectDir)$(OutDir)"</Command> | ||||||
|  |     </PostBuildEvent> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="FemboyGeometry.cpp" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||||
|  |   <ImportGroup Label="ExtensionTargets"> | ||||||
|  |   </ImportGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										22
									
								
								FemboyGeometry/FemboyGeometry.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								FemboyGeometry/FemboyGeometry.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Filter Include="Source Files"> | ||||||
|  |       <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||||||
|  |       <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="Header Files"> | ||||||
|  |       <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||||||
|  |       <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="Resource Files"> | ||||||
|  |       <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> | ||||||
|  |       <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="FemboyGeometry.cpp"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |   </ItemGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										27
									
								
								thirdparty/freeglut/Copying.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								thirdparty/freeglut/Copying.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | |||||||
|  | 
 | ||||||
|  |   Freeglut Copyright | ||||||
|  |   ------------------ | ||||||
|  |    | ||||||
|  |   Freeglut code without an explicit copyright is covered by the following  | ||||||
|  |   copyright: | ||||||
|  |    | ||||||
|  |   Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. | ||||||
|  |   Permission is hereby granted, free of charge,  to any person obtaining a copy  | ||||||
|  |   of this software and associated documentation files (the "Software"), to deal | ||||||
|  |   in the Software without restriction,  including without limitation the rights  | ||||||
|  |   to use, copy,  modify, merge,  publish, distribute,  sublicense,  and/or sell  | ||||||
|  |   copies or substantial portions of the Software. | ||||||
|  |    | ||||||
|  |   The above  copyright notice  and this permission notice  shall be included in  | ||||||
|  |   all copies or substantial portions of the Software. | ||||||
|  |    | ||||||
|  |   THE SOFTWARE  IS PROVIDED "AS IS",  WITHOUT WARRANTY OF ANY KIND,  EXPRESS OR  | ||||||
|  |   IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO THE WARRANTIES  OF MERCHANTABILITY,  | ||||||
|  |   FITNESS  FOR  A PARTICULAR PURPOSE  AND NONINFRINGEMENT.  IN  NO EVENT  SHALL  | ||||||
|  |   PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM,  DAMAGES OR OTHER LIABILITY, WHETHER  | ||||||
|  |   IN  AN ACTION  OF CONTRACT,  TORT OR OTHERWISE,  ARISING FROM,  OUT OF  OR IN  | ||||||
|  |   CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||||
|  |    | ||||||
|  |   Except as contained in this notice,  the name of Pawel W. Olszta shall not be  | ||||||
|  |   used  in advertising  or otherwise to promote the sale, use or other dealings  | ||||||
|  |   in this Software without prior written authorization from Pawel W. Olszta. | ||||||
							
								
								
									
										106
									
								
								thirdparty/freeglut/Readme.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								thirdparty/freeglut/Readme.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,106 @@ | |||||||
|  | freeglut 3.0.0-1.mp for MSVC | ||||||
|  | 
 | ||||||
|  | This package contains freeglut import libraries, headers, and Windows DLLs. | ||||||
|  | These allow 32 and 64 bit GLUT applications to be compiled on Windows using | ||||||
|  | Microsoft Visual C++. | ||||||
|  | 
 | ||||||
|  | For more information on freeglut, visit http://freeglut.sourceforge.net/. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Installation | ||||||
|  | 
 | ||||||
|  | Create a folder on your PC which is readable by all users, for example | ||||||
|  | “C:\Program Files\Common Files\MSVC\freeglut\” on a typical Windows system. Copy | ||||||
|  | the “lib\” and “include\” folders from this zip archive to that location. | ||||||
|  | 
 | ||||||
|  | The appropriate freeglut DLL can either be placed in the same folder as your | ||||||
|  | application, or can be installed in a system-wide folder which appears in your | ||||||
|  | %PATH% environment variable. Be careful not to mix the 32 bit DLL up with the 64 | ||||||
|  | bit DLL, as they are not interchangeable. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Compiling 32 bit Applications | ||||||
|  | 
 | ||||||
|  | To create a 32 bit freeglut application, create a new Win32 C++ project in MSVC. | ||||||
|  | From the “Win32 Application Wizard”, choose a “Windows application”, check the | ||||||
|  | “Empty project” box, and submit. | ||||||
|  | 
 | ||||||
|  | You’ll now need to configure the compiler and linker settings. Open up the | ||||||
|  | project properties, and select “All Configurations” (this is necessary to ensure | ||||||
|  | our changes are applied for both debug and release builds). Open up the | ||||||
|  | “general” section under “C/C++”, and configure the “include\” folder you created | ||||||
|  | above as an “Additional Include Directory”. If you have more than one GLUT | ||||||
|  | package which contains a “glut.h” file, it’s important to ensure that the | ||||||
|  | freeglut include folder appears above all other GLUT include folders. | ||||||
|  | 
 | ||||||
|  | Now open up the “general” section under “Linker”, and configure the “lib\” | ||||||
|  | folder you created above as an “Additional Library Directory”. A freeglut | ||||||
|  | application depends on the import libraries “freeglut.lib” and “opengl32.lib”, | ||||||
|  | which can be configured under the “Input” section. However, it shouldn’t be | ||||||
|  | necessary to explicitly state these dependencies, since the freeglut headers | ||||||
|  | handle this for you. Now open the “Advanced” section, and enter “mainCRTStartup” | ||||||
|  | as the “Entry Point” for your application. This is necessary because GLUT | ||||||
|  | applications use “main” as the application entry point, not “WinMain”—without it | ||||||
|  | you’ll get an undefined reference when you try to link your application. | ||||||
|  | 
 | ||||||
|  | That’s all of your project properties configured, so you can now add source | ||||||
|  | files to your project and build the application. If you want your application to | ||||||
|  | be compatible with GLUT, you should “#include <GL/glut.h>”. If you want to use | ||||||
|  | freeglut specific extensions, you should “#include <GL/freeglut.h>” instead. | ||||||
|  | 
 | ||||||
|  | Don’t forget to either include the freeglut DLL when distributing applications, | ||||||
|  | or provide your users with some method of obtaining it if they don’t already | ||||||
|  | have it! | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Compiling 64 bit Applications | ||||||
|  | 
 | ||||||
|  | Building 64 bit applications is almost identical to building 32 bit applications. | ||||||
|  | When you use the configuration manager to add the x64 platform, it’s easiest to | ||||||
|  | copy the settings from the Win32 platform. If you do so, it’s then only necessary | ||||||
|  | to change the “Additional Library Directories” configuration so that it | ||||||
|  | references the directory containing the 64 bit import library rather | ||||||
|  | than the 32 bit one. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Problems? | ||||||
|  | 
 | ||||||
|  | If you have problems using this package (compiler / linker errors etc.), please | ||||||
|  | check that you have followed all of the steps in this readme file correctly. | ||||||
|  | Almost all of the problems which are reported with these packages are due to | ||||||
|  | missing a step or not doing it correctly, for example trying to build a 32 bit | ||||||
|  | app against the 64 bit import library. If you have followed all of the steps | ||||||
|  | correctly but your application still fails to build, try building a very simple | ||||||
|  | but functional program (the example at | ||||||
|  | http://www.transmissionzero.co.uk/computing/using-glut-with-mingw/ works fine | ||||||
|  | with MSVC). A lot of people try to build very complex applications after | ||||||
|  | installing these packages, and often the error is with the application code or | ||||||
|  | other library dependencies rather than freeglut. | ||||||
|  | 
 | ||||||
|  | If you still can’t get it working after trying to compile a simple application, | ||||||
|  | then please get in touch via http://www.transmissionzero.co.uk/contact/, | ||||||
|  | providing as much detail as you can. Please don’t complain to the freeglut guys | ||||||
|  | unless you’re sure it’s a freeglut bug, and have reproduced the issue after | ||||||
|  | compiling freeglut from the latest SVN version—if that’s still the case, I’m | ||||||
|  | sure they would appreciate a bug report or a patch. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Changelog | ||||||
|  | 
 | ||||||
|  | 2015–07–22: Release 3.0.0-2.mp | ||||||
|  | 
 | ||||||
|  |   • Modified the freeglut_std.h file so that it doesn’t try to link against the | ||||||
|  |     freeglutd.lib import library. | ||||||
|  | 
 | ||||||
|  | 2015–03–15: Release 3.0.0-1.mp | ||||||
|  | 
 | ||||||
|  |   • First 3.0.0 MSVC release. I’ve built the package using Visual Studio 2013, | ||||||
|  |     and the only change I’ve made is to the DLL version resource—I’ve changed | ||||||
|  |     the description so that my MinGW and MSVC builds are distinguishable from | ||||||
|  |     each other (and other builds) using Windows Explorer. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Transmission Zero | ||||||
|  | 2015–07–22 | ||||||
|  | 
 | ||||||
|  | http://www.transmissionzero.co.uk/ | ||||||
							
								
								
									
										22
									
								
								thirdparty/freeglut/include/GL/freeglut.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								thirdparty/freeglut/include/GL/freeglut.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | |||||||
|  | #ifndef  __FREEGLUT_H__ | ||||||
|  | #define  __FREEGLUT_H__ | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * freeglut.h | ||||||
|  |  * | ||||||
|  |  * The freeglut library include file | ||||||
|  |  * | ||||||
|  |  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||||
|  |  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||||
|  |  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | ||||||
|  |  * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||||||
|  |  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||||||
|  |  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #include "freeglut_std.h" | ||||||
|  | #include "freeglut_ext.h" | ||||||
|  | 
 | ||||||
|  | /*** END OF FILE ***/ | ||||||
|  | 
 | ||||||
|  | #endif /* __FREEGLUT_H__ */ | ||||||
							
								
								
									
										271
									
								
								thirdparty/freeglut/include/GL/freeglut_ext.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										271
									
								
								thirdparty/freeglut/include/GL/freeglut_ext.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,271 @@ | |||||||
|  | #ifndef  __FREEGLUT_EXT_H__ | ||||||
|  | #define  __FREEGLUT_EXT_H__ | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * freeglut_ext.h | ||||||
|  |  * | ||||||
|  |  * The non-GLUT-compatible extensions to the freeglut library include file | ||||||
|  |  * | ||||||
|  |  * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. | ||||||
|  |  * Written by Pawel W. Olszta, <olszta@sourceforge.net> | ||||||
|  |  * Creation date: Thu Dec 2 1999 | ||||||
|  |  * | ||||||
|  |  * Permission is hereby granted, free of charge, to any person obtaining a | ||||||
|  |  * copy of this software and associated documentation files (the "Software"), | ||||||
|  |  * to deal in the Software without restriction, including without limitation | ||||||
|  |  * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||||||
|  |  * and/or sell copies of the Software, and to permit persons to whom the | ||||||
|  |  * Software is furnished to do so, subject to the following conditions: | ||||||
|  |  * | ||||||
|  |  * The above copyright notice and this permission notice shall be included | ||||||
|  |  * in all copies or substantial portions of the Software. | ||||||
|  |  * | ||||||
|  |  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||||
|  |  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||||
|  |  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | ||||||
|  |  * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||||||
|  |  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||||||
|  |  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #ifdef __cplusplus | ||||||
|  |     extern "C" { | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Additional GLUT Key definitions for the Special key function | ||||||
|  |  */ | ||||||
|  | #define GLUT_KEY_NUM_LOCK           0x006D | ||||||
|  | #define GLUT_KEY_BEGIN              0x006E | ||||||
|  | #define GLUT_KEY_DELETE             0x006F | ||||||
|  | #define GLUT_KEY_SHIFT_L            0x0070 | ||||||
|  | #define GLUT_KEY_SHIFT_R            0x0071 | ||||||
|  | #define GLUT_KEY_CTRL_L             0x0072 | ||||||
|  | #define GLUT_KEY_CTRL_R             0x0073 | ||||||
|  | #define GLUT_KEY_ALT_L              0x0074 | ||||||
|  | #define GLUT_KEY_ALT_R              0x0075 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API Extension macro definitions -- behaviour when the user clicks on an "x" to close a window | ||||||
|  |  */ | ||||||
|  | #define GLUT_ACTION_EXIT                         0 | ||||||
|  | #define GLUT_ACTION_GLUTMAINLOOP_RETURNS         1 | ||||||
|  | #define GLUT_ACTION_CONTINUE_EXECUTION           2 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Create a new rendering context when the user opens a new window? | ||||||
|  |  */ | ||||||
|  | #define GLUT_CREATE_NEW_CONTEXT                  0 | ||||||
|  | #define GLUT_USE_CURRENT_CONTEXT                 1 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Direct/Indirect rendering context options (has meaning only in Unix/X11) | ||||||
|  |  */ | ||||||
|  | #define GLUT_FORCE_INDIRECT_CONTEXT              0 | ||||||
|  | #define GLUT_ALLOW_DIRECT_CONTEXT                1 | ||||||
|  | #define GLUT_TRY_DIRECT_CONTEXT                  2 | ||||||
|  | #define GLUT_FORCE_DIRECT_CONTEXT                3 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API Extension macro definitions -- the glutGet parameters | ||||||
|  |  */ | ||||||
|  | #define  GLUT_INIT_STATE                    0x007C | ||||||
|  | 
 | ||||||
|  | #define  GLUT_ACTION_ON_WINDOW_CLOSE        0x01F9 | ||||||
|  | 
 | ||||||
|  | #define  GLUT_WINDOW_BORDER_WIDTH           0x01FA | ||||||
|  | #define  GLUT_WINDOW_BORDER_HEIGHT          0x01FB | ||||||
|  | #define  GLUT_WINDOW_HEADER_HEIGHT          0x01FB  /* Docs say it should always have been GLUT_WINDOW_BORDER_HEIGHT, keep this for backward compatibility */ | ||||||
|  | 
 | ||||||
|  | #define  GLUT_VERSION                       0x01FC | ||||||
|  | 
 | ||||||
|  | #define  GLUT_RENDERING_CONTEXT             0x01FD | ||||||
|  | #define  GLUT_DIRECT_RENDERING              0x01FE | ||||||
|  | 
 | ||||||
|  | #define  GLUT_FULL_SCREEN                   0x01FF | ||||||
|  | 
 | ||||||
|  | #define  GLUT_SKIP_STALE_MOTION_EVENTS      0x0204 | ||||||
|  | 
 | ||||||
|  | #define  GLUT_GEOMETRY_VISUALIZE_NORMALS    0x0205 | ||||||
|  | 
 | ||||||
|  | #define  GLUT_STROKE_FONT_DRAW_JOIN_DOTS    0x0206  /* Draw dots between line segments of stroke fonts? */ | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * New tokens for glutInitDisplayMode. | ||||||
|  |  * Only one GLUT_AUXn bit may be used at a time. | ||||||
|  |  * Value 0x0400 is defined in OpenGLUT. | ||||||
|  |  */ | ||||||
|  | #define  GLUT_AUX                           0x1000 | ||||||
|  | 
 | ||||||
|  | #define  GLUT_AUX1                          0x1000 | ||||||
|  | #define  GLUT_AUX2                          0x2000 | ||||||
|  | #define  GLUT_AUX3                          0x4000 | ||||||
|  | #define  GLUT_AUX4                          0x8000 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Context-related flags, see fg_state.c | ||||||
|  |  * Set the requested OpenGL version | ||||||
|  |  */ | ||||||
|  | #define  GLUT_INIT_MAJOR_VERSION            0x0200 | ||||||
|  | #define  GLUT_INIT_MINOR_VERSION            0x0201 | ||||||
|  | #define  GLUT_INIT_FLAGS                    0x0202 | ||||||
|  | #define  GLUT_INIT_PROFILE                  0x0203 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Flags for glutInitContextFlags, see fg_init.c | ||||||
|  |  */ | ||||||
|  | #define  GLUT_DEBUG                         0x0001 | ||||||
|  | #define  GLUT_FORWARD_COMPATIBLE            0x0002 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Flags for glutInitContextProfile, see fg_init.c | ||||||
|  |  */ | ||||||
|  | #define GLUT_CORE_PROFILE                   0x0001 | ||||||
|  | #define	GLUT_COMPATIBILITY_PROFILE          0x0002 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Process loop function, see fg_main.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutMainLoopEvent( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutLeaveMainLoop( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutExit         ( void ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Window management functions, see fg_window.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutFullScreenToggle( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutLeaveFullScreen( void ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Menu functions | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutSetMenuFont( int menuID, void* font ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Window-specific callback functions, see fg_callbacks.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutMouseWheelFunc( void (* callback)( int, int, int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutPositionFunc( void (* callback)( int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutCloseFunc( void (* callback)( void ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutWMCloseFunc( void (* callback)( void ) ); | ||||||
|  | /* And also a destruction callback for menus */ | ||||||
|  | FGAPI void    FGAPIENTRY glutMenuDestroyFunc( void (* callback)( void ) ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * State setting and retrieval functions, see fg_state.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutSetOption ( GLenum option_flag, int value ); | ||||||
|  | FGAPI int *   FGAPIENTRY glutGetModeValues(GLenum mode, int * size); | ||||||
|  | /* A.Donev: User-data manipulation */ | ||||||
|  | FGAPI void*   FGAPIENTRY glutGetWindowData( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSetWindowData(void* data); | ||||||
|  | FGAPI void*   FGAPIENTRY glutGetMenuData( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSetMenuData(void* data); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Font stuff, see fg_font.c | ||||||
|  |  */ | ||||||
|  | FGAPI int     FGAPIENTRY glutBitmapHeight( void* font ); | ||||||
|  | FGAPI GLfloat FGAPIENTRY glutStrokeHeight( void* font ); | ||||||
|  | FGAPI void    FGAPIENTRY glutBitmapString( void* font, const unsigned char *string ); | ||||||
|  | FGAPI void    FGAPIENTRY glutStrokeString( void* font, const unsigned char *string ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Geometry functions, see fg_geometry.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutWireRhombicDodecahedron( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidRhombicDodecahedron( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutWireSierpinskiSponge ( int num_levels, double offset[3], double scale ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidSierpinskiSponge ( int num_levels, double offset[3], double scale ); | ||||||
|  | FGAPI void    FGAPIENTRY glutWireCylinder( double radius, double height, GLint slices, GLint stacks); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidCylinder( double radius, double height, GLint slices, GLint stacks); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Rest of functions for rendering Newell's teaset, found in fg_teapot.c | ||||||
|  |  * NB: front facing polygons have clockwise winding, not counter clockwise | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutWireTeacup( double size ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidTeacup( double size ); | ||||||
|  | FGAPI void    FGAPIENTRY glutWireTeaspoon( double size ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidTeaspoon( double size ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Extension functions, see fg_ext.c | ||||||
|  |  */ | ||||||
|  | typedef void (*GLUTproc)(); | ||||||
|  | FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Multi-touch/multi-pointer extensions | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #define GLUT_HAS_MULTI 1 | ||||||
|  | 
 | ||||||
|  | /* TODO: add device_id parameter,
 | ||||||
|  |    cf. http://sourceforge.net/mailarchive/forum.php?thread_name=20120518071314.GA28061%40perso.beuc.net&forum_name=freeglut-developer */
 | ||||||
|  | FGAPI void FGAPIENTRY glutMultiEntryFunc( void (* callback)( int, int ) ); | ||||||
|  | FGAPI void FGAPIENTRY glutMultiButtonFunc( void (* callback)( int, int, int, int, int ) ); | ||||||
|  | FGAPI void FGAPIENTRY glutMultiMotionFunc( void (* callback)( int, int, int ) ); | ||||||
|  | FGAPI void FGAPIENTRY glutMultiPassiveFunc( void (* callback)( int, int, int ) ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Joystick functions, see fg_joystick.c | ||||||
|  |  */ | ||||||
|  | /* USE OF THESE FUNCTIONS IS DEPRECATED !!!!! */ | ||||||
|  | /* If you have a serious need for these functions in your application, please either
 | ||||||
|  |  * contact the "freeglut" developer community at freeglut-developer@lists.sourceforge.net, | ||||||
|  |  * switch to the OpenGLUT library, or else port your joystick functionality over to PLIB's | ||||||
|  |  * "js" library. | ||||||
|  |  */ | ||||||
|  | int     glutJoystickGetNumAxes( int ident ); | ||||||
|  | int     glutJoystickGetNumButtons( int ident ); | ||||||
|  | int     glutJoystickNotWorking( int ident ); | ||||||
|  | float   glutJoystickGetDeadBand( int ident, int axis ); | ||||||
|  | void    glutJoystickSetDeadBand( int ident, int axis, float db ); | ||||||
|  | float   glutJoystickGetSaturation( int ident, int axis ); | ||||||
|  | void    glutJoystickSetSaturation( int ident, int axis, float st ); | ||||||
|  | void    glutJoystickSetMinRange( int ident, float *axes ); | ||||||
|  | void    glutJoystickSetMaxRange( int ident, float *axes ); | ||||||
|  | void    glutJoystickSetCenter( int ident, float *axes ); | ||||||
|  | void    glutJoystickGetMinRange( int ident, float *axes ); | ||||||
|  | void    glutJoystickGetMaxRange( int ident, float *axes ); | ||||||
|  | void    glutJoystickGetCenter( int ident, float *axes ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Initialization functions, see fg_init.c | ||||||
|  |  */ | ||||||
|  | /* to get the typedef for va_list */ | ||||||
|  | #include <stdarg.h> | ||||||
|  | FGAPI void    FGAPIENTRY glutInitContextVersion( int majorVersion, int minorVersion ); | ||||||
|  | FGAPI void    FGAPIENTRY glutInitContextFlags( int flags ); | ||||||
|  | FGAPI void    FGAPIENTRY glutInitContextProfile( int profile ); | ||||||
|  | FGAPI void    FGAPIENTRY glutInitErrorFunc( void (* callback)( const char *fmt, va_list ap ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutInitWarningFunc( void (* callback)( const char *fmt, va_list ap ) ); | ||||||
|  | 
 | ||||||
|  | /* OpenGL >= 2.0 support */ | ||||||
|  | FGAPI void    FGAPIENTRY glutSetVertexAttribCoord3(GLint attrib); | ||||||
|  | FGAPI void    FGAPIENTRY glutSetVertexAttribNormal(GLint attrib); | ||||||
|  | FGAPI void    FGAPIENTRY glutSetVertexAttribTexCoord2(GLint attrib); | ||||||
|  | 
 | ||||||
|  | /* Mobile platforms lifecycle */ | ||||||
|  | FGAPI void    FGAPIENTRY glutInitContextFunc(void (* callback)()); | ||||||
|  | FGAPI void    FGAPIENTRY glutAppStatusFunc(void (* callback)(int)); | ||||||
|  | /* state flags that can be passed to callback set by glutAppStatusFunc */ | ||||||
|  | #define GLUT_APPSTATUS_PAUSE                0x0001 | ||||||
|  | #define GLUT_APPSTATUS_RESUME               0x0002 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- the display mode definitions | ||||||
|  |  */ | ||||||
|  | #define  GLUT_CAPTIONLESS                   0x0400 | ||||||
|  | #define  GLUT_BORDERLESS                    0x0800 | ||||||
|  | #define  GLUT_SRGB                          0x1000 | ||||||
|  | 
 | ||||||
|  | #ifdef __cplusplus | ||||||
|  |     } | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | /*** END OF FILE ***/ | ||||||
|  | 
 | ||||||
|  | #endif /* __FREEGLUT_EXT_H__ */ | ||||||
							
								
								
									
										638
									
								
								thirdparty/freeglut/include/GL/freeglut_std.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										638
									
								
								thirdparty/freeglut/include/GL/freeglut_std.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,638 @@ | |||||||
|  | #ifndef  __FREEGLUT_STD_H__ | ||||||
|  | #define  __FREEGLUT_STD_H__ | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * freeglut_std.h | ||||||
|  |  * | ||||||
|  |  * The GLUT-compatible part of the freeglut library include file | ||||||
|  |  * | ||||||
|  |  * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. | ||||||
|  |  * Written by Pawel W. Olszta, <olszta@sourceforge.net> | ||||||
|  |  * Creation date: Thu Dec 2 1999 | ||||||
|  |  * | ||||||
|  |  * Permission is hereby granted, free of charge, to any person obtaining a | ||||||
|  |  * copy of this software and associated documentation files (the "Software"), | ||||||
|  |  * to deal in the Software without restriction, including without limitation | ||||||
|  |  * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||||||
|  |  * and/or sell copies of the Software, and to permit persons to whom the | ||||||
|  |  * Software is furnished to do so, subject to the following conditions: | ||||||
|  |  * | ||||||
|  |  * The above copyright notice and this permission notice shall be included | ||||||
|  |  * in all copies or substantial portions of the Software. | ||||||
|  |  * | ||||||
|  |  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||||
|  |  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||||
|  |  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | ||||||
|  |  * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||||||
|  |  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||||||
|  |  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #ifdef __cplusplus | ||||||
|  |     extern "C" { | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Under windows, we have to differentiate between static and dynamic libraries | ||||||
|  |  */ | ||||||
|  | #ifdef _WIN32 | ||||||
|  | /* #pragma may not be supported by some compilers.
 | ||||||
|  |  * Discussion by FreeGLUT developers suggests that | ||||||
|  |  * Visual C++ specific code involving pragmas may | ||||||
|  |  * need to move to a separate header.  24th Dec 2003 | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | /* Define FREEGLUT_LIB_PRAGMAS to 1 to include library
 | ||||||
|  |  * pragmas or to 0 to exclude library pragmas. | ||||||
|  |  * The default behavior depends on the compiler/platform. | ||||||
|  |  */ | ||||||
|  | #   ifndef FREEGLUT_LIB_PRAGMAS | ||||||
|  | #       if ( defined(_MSC_VER) || defined(__WATCOMC__) ) && !defined(_WIN32_WCE) | ||||||
|  | #           define FREEGLUT_LIB_PRAGMAS 1 | ||||||
|  | #       else | ||||||
|  | #           define FREEGLUT_LIB_PRAGMAS 0 | ||||||
|  | #       endif | ||||||
|  | #   endif | ||||||
|  | 
 | ||||||
|  | #  ifndef WIN32_LEAN_AND_MEAN | ||||||
|  | #    define WIN32_LEAN_AND_MEAN 1 | ||||||
|  | #  endif | ||||||
|  | #  ifndef NOMINMAX | ||||||
|  | #    define NOMINMAX | ||||||
|  | #  endif | ||||||
|  | #   include <windows.h> | ||||||
|  | 
 | ||||||
|  | /* Windows static library */ | ||||||
|  | #   ifdef FREEGLUT_STATIC | ||||||
|  | 
 | ||||||
|  | #error Static linking is not supported with this build. Please remove the FREEGLUT_STATIC preprocessor directive, or download the source code from http://freeglut.sf.net/ and build against that.
 | ||||||
|  | 
 | ||||||
|  | /* Windows shared library (DLL) */ | ||||||
|  | #   else | ||||||
|  | 
 | ||||||
|  | #       define FGAPIENTRY __stdcall | ||||||
|  | #       if defined(FREEGLUT_EXPORTS) | ||||||
|  | #           define FGAPI __declspec(dllexport) | ||||||
|  | #       else | ||||||
|  | #           define FGAPI __declspec(dllimport) | ||||||
|  | 
 | ||||||
|  |             /* Link with Win32 shared freeglut lib */ | ||||||
|  | #           if FREEGLUT_LIB_PRAGMAS | ||||||
|  | #             pragma comment (lib, "freeglut.lib") | ||||||
|  | #           endif | ||||||
|  | 
 | ||||||
|  | #       endif | ||||||
|  | 
 | ||||||
|  | #   endif | ||||||
|  | 
 | ||||||
|  | /* Drag in other Windows libraries as required by FreeGLUT */ | ||||||
|  | #   if FREEGLUT_LIB_PRAGMAS | ||||||
|  | #       pragma comment (lib, "glu32.lib")    /* link OpenGL Utility lib     */ | ||||||
|  | #       pragma comment (lib, "opengl32.lib") /* link Microsoft OpenGL lib   */ | ||||||
|  | #       pragma comment (lib, "gdi32.lib")    /* link Windows GDI lib        */ | ||||||
|  | #       pragma comment (lib, "winmm.lib")    /* link Windows MultiMedia lib */ | ||||||
|  | #       pragma comment (lib, "user32.lib")   /* link Windows user lib       */ | ||||||
|  | #   endif | ||||||
|  | 
 | ||||||
|  | #else | ||||||
|  | 
 | ||||||
|  | /* Non-Windows definition of FGAPI and FGAPIENTRY  */ | ||||||
|  | #        define FGAPI | ||||||
|  | #        define FGAPIENTRY | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * The freeglut and GLUT API versions | ||||||
|  |  */ | ||||||
|  | #define  FREEGLUT             1 | ||||||
|  | #define  GLUT_API_VERSION     4 | ||||||
|  | #define  GLUT_XLIB_IMPLEMENTATION 13 | ||||||
|  | /* Deprecated:
 | ||||||
|  |    cf. http://sourceforge.net/mailarchive/forum.php?thread_name=CABcAi1hw7cr4xtigckaGXB5X8wddLfMcbA_rZ3NAuwMrX_zmsw%40mail.gmail.com&forum_name=freeglut-developer */
 | ||||||
|  | #define  FREEGLUT_VERSION_2_0 1 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Always include OpenGL and GLU headers | ||||||
|  |  */ | ||||||
|  | /* Note: FREEGLUT_GLES is only used to cleanly bootstrap headers
 | ||||||
|  |    inclusion here; use GLES constants directly | ||||||
|  |    (e.g. GL_ES_VERSION_2_0) for all other needs */ | ||||||
|  | #ifdef FREEGLUT_GLES | ||||||
|  | #   include <EGL/egl.h> | ||||||
|  | #   include <GLES/gl.h> | ||||||
|  | #   include <GLES2/gl2.h> | ||||||
|  | #elif __APPLE__ | ||||||
|  | #   include <OpenGL/gl.h> | ||||||
|  | #   include <OpenGL/glu.h> | ||||||
|  | #else | ||||||
|  | #   include <GL/gl.h> | ||||||
|  | #   include <GL/glu.h> | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- the special key codes: | ||||||
|  |  */ | ||||||
|  | #define  GLUT_KEY_F1                        0x0001 | ||||||
|  | #define  GLUT_KEY_F2                        0x0002 | ||||||
|  | #define  GLUT_KEY_F3                        0x0003 | ||||||
|  | #define  GLUT_KEY_F4                        0x0004 | ||||||
|  | #define  GLUT_KEY_F5                        0x0005 | ||||||
|  | #define  GLUT_KEY_F6                        0x0006 | ||||||
|  | #define  GLUT_KEY_F7                        0x0007 | ||||||
|  | #define  GLUT_KEY_F8                        0x0008 | ||||||
|  | #define  GLUT_KEY_F9                        0x0009 | ||||||
|  | #define  GLUT_KEY_F10                       0x000A | ||||||
|  | #define  GLUT_KEY_F11                       0x000B | ||||||
|  | #define  GLUT_KEY_F12                       0x000C | ||||||
|  | #define  GLUT_KEY_LEFT                      0x0064 | ||||||
|  | #define  GLUT_KEY_UP                        0x0065 | ||||||
|  | #define  GLUT_KEY_RIGHT                     0x0066 | ||||||
|  | #define  GLUT_KEY_DOWN                      0x0067 | ||||||
|  | #define  GLUT_KEY_PAGE_UP                   0x0068 | ||||||
|  | #define  GLUT_KEY_PAGE_DOWN                 0x0069 | ||||||
|  | #define  GLUT_KEY_HOME                      0x006A | ||||||
|  | #define  GLUT_KEY_END                       0x006B | ||||||
|  | #define  GLUT_KEY_INSERT                    0x006C | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- mouse state definitions | ||||||
|  |  */ | ||||||
|  | #define  GLUT_LEFT_BUTTON                   0x0000 | ||||||
|  | #define  GLUT_MIDDLE_BUTTON                 0x0001 | ||||||
|  | #define  GLUT_RIGHT_BUTTON                  0x0002 | ||||||
|  | #define  GLUT_DOWN                          0x0000 | ||||||
|  | #define  GLUT_UP                            0x0001 | ||||||
|  | #define  GLUT_LEFT                          0x0000 | ||||||
|  | #define  GLUT_ENTERED                       0x0001 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- the display mode definitions | ||||||
|  |  */ | ||||||
|  | #define  GLUT_RGB                           0x0000 | ||||||
|  | #define  GLUT_RGBA                          0x0000 | ||||||
|  | #define  GLUT_INDEX                         0x0001 | ||||||
|  | #define  GLUT_SINGLE                        0x0000 | ||||||
|  | #define  GLUT_DOUBLE                        0x0002 | ||||||
|  | #define  GLUT_ACCUM                         0x0004 | ||||||
|  | #define  GLUT_ALPHA                         0x0008 | ||||||
|  | #define  GLUT_DEPTH                         0x0010 | ||||||
|  | #define  GLUT_STENCIL                       0x0020 | ||||||
|  | #define  GLUT_MULTISAMPLE                   0x0080 | ||||||
|  | #define  GLUT_STEREO                        0x0100 | ||||||
|  | #define  GLUT_LUMINANCE                     0x0200 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- windows and menu related definitions | ||||||
|  |  */ | ||||||
|  | #define  GLUT_MENU_NOT_IN_USE               0x0000 | ||||||
|  | #define  GLUT_MENU_IN_USE                   0x0001 | ||||||
|  | #define  GLUT_NOT_VISIBLE                   0x0000 | ||||||
|  | #define  GLUT_VISIBLE                       0x0001 | ||||||
|  | #define  GLUT_HIDDEN                        0x0000 | ||||||
|  | #define  GLUT_FULLY_RETAINED                0x0001 | ||||||
|  | #define  GLUT_PARTIALLY_RETAINED            0x0002 | ||||||
|  | #define  GLUT_FULLY_COVERED                 0x0003 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- fonts definitions | ||||||
|  |  * | ||||||
|  |  * Steve Baker suggested to make it binary compatible with GLUT: | ||||||
|  |  */ | ||||||
|  | #if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__WATCOMC__) | ||||||
|  | #   define  GLUT_STROKE_ROMAN               ((void *)0x0000) | ||||||
|  | #   define  GLUT_STROKE_MONO_ROMAN          ((void *)0x0001) | ||||||
|  | #   define  GLUT_BITMAP_9_BY_15             ((void *)0x0002) | ||||||
|  | #   define  GLUT_BITMAP_8_BY_13             ((void *)0x0003) | ||||||
|  | #   define  GLUT_BITMAP_TIMES_ROMAN_10      ((void *)0x0004) | ||||||
|  | #   define  GLUT_BITMAP_TIMES_ROMAN_24      ((void *)0x0005) | ||||||
|  | #   define  GLUT_BITMAP_HELVETICA_10        ((void *)0x0006) | ||||||
|  | #   define  GLUT_BITMAP_HELVETICA_12        ((void *)0x0007) | ||||||
|  | #   define  GLUT_BITMAP_HELVETICA_18        ((void *)0x0008) | ||||||
|  | #else | ||||||
|  |     /*
 | ||||||
|  |      * I don't really know if it's a good idea... But here it goes: | ||||||
|  |      */ | ||||||
|  |     extern void* glutStrokeRoman; | ||||||
|  |     extern void* glutStrokeMonoRoman; | ||||||
|  |     extern void* glutBitmap9By15; | ||||||
|  |     extern void* glutBitmap8By13; | ||||||
|  |     extern void* glutBitmapTimesRoman10; | ||||||
|  |     extern void* glutBitmapTimesRoman24; | ||||||
|  |     extern void* glutBitmapHelvetica10; | ||||||
|  |     extern void* glutBitmapHelvetica12; | ||||||
|  |     extern void* glutBitmapHelvetica18; | ||||||
|  | 
 | ||||||
|  |     /*
 | ||||||
|  |      * Those pointers will be used by following definitions: | ||||||
|  |      */ | ||||||
|  | #   define  GLUT_STROKE_ROMAN               ((void *) &glutStrokeRoman) | ||||||
|  | #   define  GLUT_STROKE_MONO_ROMAN          ((void *) &glutStrokeMonoRoman) | ||||||
|  | #   define  GLUT_BITMAP_9_BY_15             ((void *) &glutBitmap9By15) | ||||||
|  | #   define  GLUT_BITMAP_8_BY_13             ((void *) &glutBitmap8By13) | ||||||
|  | #   define  GLUT_BITMAP_TIMES_ROMAN_10      ((void *) &glutBitmapTimesRoman10) | ||||||
|  | #   define  GLUT_BITMAP_TIMES_ROMAN_24      ((void *) &glutBitmapTimesRoman24) | ||||||
|  | #   define  GLUT_BITMAP_HELVETICA_10        ((void *) &glutBitmapHelvetica10) | ||||||
|  | #   define  GLUT_BITMAP_HELVETICA_12        ((void *) &glutBitmapHelvetica12) | ||||||
|  | #   define  GLUT_BITMAP_HELVETICA_18        ((void *) &glutBitmapHelvetica18) | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- the glutGet parameters | ||||||
|  |  */ | ||||||
|  | #define  GLUT_WINDOW_X                      0x0064 | ||||||
|  | #define  GLUT_WINDOW_Y                      0x0065 | ||||||
|  | #define  GLUT_WINDOW_WIDTH                  0x0066 | ||||||
|  | #define  GLUT_WINDOW_HEIGHT                 0x0067 | ||||||
|  | #define  GLUT_WINDOW_BUFFER_SIZE            0x0068 | ||||||
|  | #define  GLUT_WINDOW_STENCIL_SIZE           0x0069 | ||||||
|  | #define  GLUT_WINDOW_DEPTH_SIZE             0x006A | ||||||
|  | #define  GLUT_WINDOW_RED_SIZE               0x006B | ||||||
|  | #define  GLUT_WINDOW_GREEN_SIZE             0x006C | ||||||
|  | #define  GLUT_WINDOW_BLUE_SIZE              0x006D | ||||||
|  | #define  GLUT_WINDOW_ALPHA_SIZE             0x006E | ||||||
|  | #define  GLUT_WINDOW_ACCUM_RED_SIZE         0x006F | ||||||
|  | #define  GLUT_WINDOW_ACCUM_GREEN_SIZE       0x0070 | ||||||
|  | #define  GLUT_WINDOW_ACCUM_BLUE_SIZE        0x0071 | ||||||
|  | #define  GLUT_WINDOW_ACCUM_ALPHA_SIZE       0x0072 | ||||||
|  | #define  GLUT_WINDOW_DOUBLEBUFFER           0x0073 | ||||||
|  | #define  GLUT_WINDOW_RGBA                   0x0074 | ||||||
|  | #define  GLUT_WINDOW_PARENT                 0x0075 | ||||||
|  | #define  GLUT_WINDOW_NUM_CHILDREN           0x0076 | ||||||
|  | #define  GLUT_WINDOW_COLORMAP_SIZE          0x0077 | ||||||
|  | #define  GLUT_WINDOW_NUM_SAMPLES            0x0078 | ||||||
|  | #define  GLUT_WINDOW_STEREO                 0x0079 | ||||||
|  | #define  GLUT_WINDOW_CURSOR                 0x007A | ||||||
|  | 
 | ||||||
|  | #define  GLUT_SCREEN_WIDTH                  0x00C8 | ||||||
|  | #define  GLUT_SCREEN_HEIGHT                 0x00C9 | ||||||
|  | #define  GLUT_SCREEN_WIDTH_MM               0x00CA | ||||||
|  | #define  GLUT_SCREEN_HEIGHT_MM              0x00CB | ||||||
|  | #define  GLUT_MENU_NUM_ITEMS                0x012C | ||||||
|  | #define  GLUT_DISPLAY_MODE_POSSIBLE         0x0190 | ||||||
|  | #define  GLUT_INIT_WINDOW_X                 0x01F4 | ||||||
|  | #define  GLUT_INIT_WINDOW_Y                 0x01F5 | ||||||
|  | #define  GLUT_INIT_WINDOW_WIDTH             0x01F6 | ||||||
|  | #define  GLUT_INIT_WINDOW_HEIGHT            0x01F7 | ||||||
|  | #define  GLUT_INIT_DISPLAY_MODE             0x01F8 | ||||||
|  | #define  GLUT_ELAPSED_TIME                  0x02BC | ||||||
|  | #define  GLUT_WINDOW_FORMAT_ID              0x007B | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- the glutDeviceGet parameters | ||||||
|  |  */ | ||||||
|  | #define  GLUT_HAS_KEYBOARD                  0x0258 | ||||||
|  | #define  GLUT_HAS_MOUSE                     0x0259 | ||||||
|  | #define  GLUT_HAS_SPACEBALL                 0x025A | ||||||
|  | #define  GLUT_HAS_DIAL_AND_BUTTON_BOX       0x025B | ||||||
|  | #define  GLUT_HAS_TABLET                    0x025C | ||||||
|  | #define  GLUT_NUM_MOUSE_BUTTONS             0x025D | ||||||
|  | #define  GLUT_NUM_SPACEBALL_BUTTONS         0x025E | ||||||
|  | #define  GLUT_NUM_BUTTON_BOX_BUTTONS        0x025F | ||||||
|  | #define  GLUT_NUM_DIALS                     0x0260 | ||||||
|  | #define  GLUT_NUM_TABLET_BUTTONS            0x0261 | ||||||
|  | #define  GLUT_DEVICE_IGNORE_KEY_REPEAT      0x0262 | ||||||
|  | #define  GLUT_DEVICE_KEY_REPEAT             0x0263 | ||||||
|  | #define  GLUT_HAS_JOYSTICK                  0x0264 | ||||||
|  | #define  GLUT_OWNS_JOYSTICK                 0x0265 | ||||||
|  | #define  GLUT_JOYSTICK_BUTTONS              0x0266 | ||||||
|  | #define  GLUT_JOYSTICK_AXES                 0x0267 | ||||||
|  | #define  GLUT_JOYSTICK_POLL_RATE            0x0268 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- the glutLayerGet parameters | ||||||
|  |  */ | ||||||
|  | #define  GLUT_OVERLAY_POSSIBLE              0x0320 | ||||||
|  | #define  GLUT_LAYER_IN_USE                  0x0321 | ||||||
|  | #define  GLUT_HAS_OVERLAY                   0x0322 | ||||||
|  | #define  GLUT_TRANSPARENT_INDEX             0x0323 | ||||||
|  | #define  GLUT_NORMAL_DAMAGED                0x0324 | ||||||
|  | #define  GLUT_OVERLAY_DAMAGED               0x0325 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- the glutVideoResizeGet parameters | ||||||
|  |  */ | ||||||
|  | #define  GLUT_VIDEO_RESIZE_POSSIBLE         0x0384 | ||||||
|  | #define  GLUT_VIDEO_RESIZE_IN_USE           0x0385 | ||||||
|  | #define  GLUT_VIDEO_RESIZE_X_DELTA          0x0386 | ||||||
|  | #define  GLUT_VIDEO_RESIZE_Y_DELTA          0x0387 | ||||||
|  | #define  GLUT_VIDEO_RESIZE_WIDTH_DELTA      0x0388 | ||||||
|  | #define  GLUT_VIDEO_RESIZE_HEIGHT_DELTA     0x0389 | ||||||
|  | #define  GLUT_VIDEO_RESIZE_X                0x038A | ||||||
|  | #define  GLUT_VIDEO_RESIZE_Y                0x038B | ||||||
|  | #define  GLUT_VIDEO_RESIZE_WIDTH            0x038C | ||||||
|  | #define  GLUT_VIDEO_RESIZE_HEIGHT           0x038D | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- the glutUseLayer parameters | ||||||
|  |  */ | ||||||
|  | #define  GLUT_NORMAL                        0x0000 | ||||||
|  | #define  GLUT_OVERLAY                       0x0001 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- the glutGetModifiers parameters | ||||||
|  |  */ | ||||||
|  | #define  GLUT_ACTIVE_SHIFT                  0x0001 | ||||||
|  | #define  GLUT_ACTIVE_CTRL                   0x0002 | ||||||
|  | #define  GLUT_ACTIVE_ALT                    0x0004 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- the glutSetCursor parameters | ||||||
|  |  */ | ||||||
|  | #define  GLUT_CURSOR_RIGHT_ARROW            0x0000 | ||||||
|  | #define  GLUT_CURSOR_LEFT_ARROW             0x0001 | ||||||
|  | #define  GLUT_CURSOR_INFO                   0x0002 | ||||||
|  | #define  GLUT_CURSOR_DESTROY                0x0003 | ||||||
|  | #define  GLUT_CURSOR_HELP                   0x0004 | ||||||
|  | #define  GLUT_CURSOR_CYCLE                  0x0005 | ||||||
|  | #define  GLUT_CURSOR_SPRAY                  0x0006 | ||||||
|  | #define  GLUT_CURSOR_WAIT                   0x0007 | ||||||
|  | #define  GLUT_CURSOR_TEXT                   0x0008 | ||||||
|  | #define  GLUT_CURSOR_CROSSHAIR              0x0009 | ||||||
|  | #define  GLUT_CURSOR_UP_DOWN                0x000A | ||||||
|  | #define  GLUT_CURSOR_LEFT_RIGHT             0x000B | ||||||
|  | #define  GLUT_CURSOR_TOP_SIDE               0x000C | ||||||
|  | #define  GLUT_CURSOR_BOTTOM_SIDE            0x000D | ||||||
|  | #define  GLUT_CURSOR_LEFT_SIDE              0x000E | ||||||
|  | #define  GLUT_CURSOR_RIGHT_SIDE             0x000F | ||||||
|  | #define  GLUT_CURSOR_TOP_LEFT_CORNER        0x0010 | ||||||
|  | #define  GLUT_CURSOR_TOP_RIGHT_CORNER       0x0011 | ||||||
|  | #define  GLUT_CURSOR_BOTTOM_RIGHT_CORNER    0x0012 | ||||||
|  | #define  GLUT_CURSOR_BOTTOM_LEFT_CORNER     0x0013 | ||||||
|  | #define  GLUT_CURSOR_INHERIT                0x0064 | ||||||
|  | #define  GLUT_CURSOR_NONE                   0x0065 | ||||||
|  | #define  GLUT_CURSOR_FULL_CROSSHAIR         0x0066 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- RGB color component specification definitions | ||||||
|  |  */ | ||||||
|  | #define  GLUT_RED                           0x0000 | ||||||
|  | #define  GLUT_GREEN                         0x0001 | ||||||
|  | #define  GLUT_BLUE                          0x0002 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- additional keyboard and joystick definitions | ||||||
|  |  */ | ||||||
|  | #define  GLUT_KEY_REPEAT_OFF                0x0000 | ||||||
|  | #define  GLUT_KEY_REPEAT_ON                 0x0001 | ||||||
|  | #define  GLUT_KEY_REPEAT_DEFAULT            0x0002 | ||||||
|  | 
 | ||||||
|  | #define  GLUT_JOYSTICK_BUTTON_A             0x0001 | ||||||
|  | #define  GLUT_JOYSTICK_BUTTON_B             0x0002 | ||||||
|  | #define  GLUT_JOYSTICK_BUTTON_C             0x0004 | ||||||
|  | #define  GLUT_JOYSTICK_BUTTON_D             0x0008 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * GLUT API macro definitions -- game mode definitions | ||||||
|  |  */ | ||||||
|  | #define  GLUT_GAME_MODE_ACTIVE              0x0000 | ||||||
|  | #define  GLUT_GAME_MODE_POSSIBLE            0x0001 | ||||||
|  | #define  GLUT_GAME_MODE_WIDTH               0x0002 | ||||||
|  | #define  GLUT_GAME_MODE_HEIGHT              0x0003 | ||||||
|  | #define  GLUT_GAME_MODE_PIXEL_DEPTH         0x0004 | ||||||
|  | #define  GLUT_GAME_MODE_REFRESH_RATE        0x0005 | ||||||
|  | #define  GLUT_GAME_MODE_DISPLAY_CHANGED     0x0006 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Initialization functions, see fglut_init.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutInit( int* pargc, char** argv ); | ||||||
|  | FGAPI void    FGAPIENTRY glutInitWindowPosition( int x, int y ); | ||||||
|  | FGAPI void    FGAPIENTRY glutInitWindowSize( int width, int height ); | ||||||
|  | FGAPI void    FGAPIENTRY glutInitDisplayMode( unsigned int displayMode ); | ||||||
|  | FGAPI void    FGAPIENTRY glutInitDisplayString( const char* displayMode ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Process loop function, see fg_main.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutMainLoop( void ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Window management functions, see fg_window.c | ||||||
|  |  */ | ||||||
|  | FGAPI int     FGAPIENTRY glutCreateWindow( const char* title ); | ||||||
|  | FGAPI int     FGAPIENTRY glutCreateSubWindow( int window, int x, int y, int width, int height ); | ||||||
|  | FGAPI void    FGAPIENTRY glutDestroyWindow( int window ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSetWindow( int window ); | ||||||
|  | FGAPI int     FGAPIENTRY glutGetWindow( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSetWindowTitle( const char* title ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSetIconTitle( const char* title ); | ||||||
|  | FGAPI void    FGAPIENTRY glutReshapeWindow( int width, int height ); | ||||||
|  | FGAPI void    FGAPIENTRY glutPositionWindow( int x, int y ); | ||||||
|  | FGAPI void    FGAPIENTRY glutShowWindow( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutHideWindow( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutIconifyWindow( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutPushWindow( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutPopWindow( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutFullScreen( void ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Display-related functions, see fg_display.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutPostWindowRedisplay( int window ); | ||||||
|  | FGAPI void    FGAPIENTRY glutPostRedisplay( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSwapBuffers( void ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Mouse cursor functions, see fg_cursor.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutWarpPointer( int x, int y ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSetCursor( int cursor ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Overlay stuff, see fg_overlay.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutEstablishOverlay( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutRemoveOverlay( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutUseLayer( GLenum layer ); | ||||||
|  | FGAPI void    FGAPIENTRY glutPostOverlayRedisplay( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutPostWindowOverlayRedisplay( int window ); | ||||||
|  | FGAPI void    FGAPIENTRY glutShowOverlay( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutHideOverlay( void ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Menu stuff, see fg_menu.c | ||||||
|  |  */ | ||||||
|  | FGAPI int     FGAPIENTRY glutCreateMenu( void (* callback)( int menu ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutDestroyMenu( int menu ); | ||||||
|  | FGAPI int     FGAPIENTRY glutGetMenu( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSetMenu( int menu ); | ||||||
|  | FGAPI void    FGAPIENTRY glutAddMenuEntry( const char* label, int value ); | ||||||
|  | FGAPI void    FGAPIENTRY glutAddSubMenu( const char* label, int subMenu ); | ||||||
|  | FGAPI void    FGAPIENTRY glutChangeToMenuEntry( int item, const char* label, int value ); | ||||||
|  | FGAPI void    FGAPIENTRY glutChangeToSubMenu( int item, const char* label, int value ); | ||||||
|  | FGAPI void    FGAPIENTRY glutRemoveMenuItem( int item ); | ||||||
|  | FGAPI void    FGAPIENTRY glutAttachMenu( int button ); | ||||||
|  | FGAPI void    FGAPIENTRY glutDetachMenu( int button ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Global callback functions, see fg_callbacks.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutTimerFunc( unsigned int time, void (* callback)( int ), int value ); | ||||||
|  | FGAPI void    FGAPIENTRY glutIdleFunc( void (* callback)( void ) ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Window-specific callback functions, see fg_callbacks.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutKeyboardFunc( void (* callback)( unsigned char, int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSpecialFunc( void (* callback)( int, int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutReshapeFunc( void (* callback)( int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutVisibilityFunc( void (* callback)( int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutDisplayFunc( void (* callback)( void ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutMouseFunc( void (* callback)( int, int, int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutMotionFunc( void (* callback)( int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutPassiveMotionFunc( void (* callback)( int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutEntryFunc( void (* callback)( int ) ); | ||||||
|  | 
 | ||||||
|  | FGAPI void    FGAPIENTRY glutKeyboardUpFunc( void (* callback)( unsigned char, int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSpecialUpFunc( void (* callback)( int, int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutJoystickFunc( void (* callback)( unsigned int, int, int, int ), int pollInterval ); | ||||||
|  | FGAPI void    FGAPIENTRY glutMenuStateFunc( void (* callback)( int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutMenuStatusFunc( void (* callback)( int, int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutOverlayDisplayFunc( void (* callback)( void ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutWindowStatusFunc( void (* callback)( int ) ); | ||||||
|  | 
 | ||||||
|  | FGAPI void    FGAPIENTRY glutSpaceballMotionFunc( void (* callback)( int, int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSpaceballRotateFunc( void (* callback)( int, int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSpaceballButtonFunc( void (* callback)( int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutButtonBoxFunc( void (* callback)( int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutDialsFunc( void (* callback)( int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutTabletMotionFunc( void (* callback)( int, int ) ); | ||||||
|  | FGAPI void    FGAPIENTRY glutTabletButtonFunc( void (* callback)( int, int, int, int ) ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * State setting and retrieval functions, see fg_state.c | ||||||
|  |  */ | ||||||
|  | FGAPI int     FGAPIENTRY glutGet( GLenum query ); | ||||||
|  | FGAPI int     FGAPIENTRY glutDeviceGet( GLenum query ); | ||||||
|  | FGAPI int     FGAPIENTRY glutGetModifiers( void ); | ||||||
|  | FGAPI int     FGAPIENTRY glutLayerGet( GLenum query ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Font stuff, see fg_font.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutBitmapCharacter( void* font, int character ); | ||||||
|  | FGAPI int     FGAPIENTRY glutBitmapWidth( void* font, int character ); | ||||||
|  | FGAPI void    FGAPIENTRY glutStrokeCharacter( void* font, int character ); | ||||||
|  | FGAPI int     FGAPIENTRY glutStrokeWidth( void* font, int character ); | ||||||
|  | FGAPI GLfloat FGAPIENTRY glutStrokeWidthf( void* font, int character ); /* GLUT 3.8 */ | ||||||
|  | FGAPI int     FGAPIENTRY glutBitmapLength( void* font, const unsigned char* string ); | ||||||
|  | FGAPI int     FGAPIENTRY glutStrokeLength( void* font, const unsigned char* string ); | ||||||
|  | FGAPI GLfloat FGAPIENTRY glutStrokeLengthf( void* font, const unsigned char *string ); /* GLUT 3.8 */ | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Geometry functions, see fg_geometry.c | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | FGAPI void    FGAPIENTRY glutWireCube( double size ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidCube( double size ); | ||||||
|  | FGAPI void    FGAPIENTRY glutWireSphere( double radius, GLint slices, GLint stacks ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidSphere( double radius, GLint slices, GLint stacks ); | ||||||
|  | FGAPI void    FGAPIENTRY glutWireCone( double base, double height, GLint slices, GLint stacks ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidCone( double base, double height, GLint slices, GLint stacks ); | ||||||
|  | FGAPI void    FGAPIENTRY glutWireTorus( double innerRadius, double outerRadius, GLint sides, GLint rings ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidTorus( double innerRadius, double outerRadius, GLint sides, GLint rings ); | ||||||
|  | FGAPI void    FGAPIENTRY glutWireDodecahedron( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidDodecahedron( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutWireOctahedron( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidOctahedron( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutWireTetrahedron( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidTetrahedron( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutWireIcosahedron( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidIcosahedron( void ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Teapot rendering functions, found in fg_teapot.c | ||||||
|  |  * NB: front facing polygons have clockwise winding, not counter clockwise | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutWireTeapot( double size ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSolidTeapot( double size ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Game mode functions, see fg_gamemode.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutGameModeString( const char* string ); | ||||||
|  | FGAPI int     FGAPIENTRY glutEnterGameMode( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutLeaveGameMode( void ); | ||||||
|  | FGAPI int     FGAPIENTRY glutGameModeGet( GLenum query ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Video resize functions, see fg_videoresize.c | ||||||
|  |  */ | ||||||
|  | FGAPI int     FGAPIENTRY glutVideoResizeGet( GLenum query ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSetupVideoResizing( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutStopVideoResizing( void ); | ||||||
|  | FGAPI void    FGAPIENTRY glutVideoResize( int x, int y, int width, int height ); | ||||||
|  | FGAPI void    FGAPIENTRY glutVideoPan( int x, int y, int width, int height ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Colormap functions, see fg_misc.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutSetColor( int color, GLfloat red, GLfloat green, GLfloat blue ); | ||||||
|  | FGAPI GLfloat FGAPIENTRY glutGetColor( int color, int component ); | ||||||
|  | FGAPI void    FGAPIENTRY glutCopyColormap( int window ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Misc keyboard and joystick functions, see fg_misc.c | ||||||
|  |  */ | ||||||
|  | FGAPI void    FGAPIENTRY glutIgnoreKeyRepeat( int ignore ); | ||||||
|  | FGAPI void    FGAPIENTRY glutSetKeyRepeat( int repeatMode ); | ||||||
|  | FGAPI void    FGAPIENTRY glutForceJoystickFunc( void ); | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Misc functions, see fg_misc.c | ||||||
|  |  */ | ||||||
|  | FGAPI int     FGAPIENTRY glutExtensionSupported( const char* extension ); | ||||||
|  | FGAPI void    FGAPIENTRY glutReportErrors( void ); | ||||||
|  | 
 | ||||||
|  | /* Comment from glut.h of classic GLUT:
 | ||||||
|  | 
 | ||||||
|  |    Win32 has an annoying issue where there are multiple C run-time | ||||||
|  |    libraries (CRTs).  If the executable is linked with a different CRT | ||||||
|  |    from the GLUT DLL, the GLUT DLL will not share the same CRT static | ||||||
|  |    data seen by the executable.  In particular, atexit callbacks registered | ||||||
|  |    in the executable will not be called if GLUT calls its (different) | ||||||
|  |    exit routine).  GLUT is typically built with the | ||||||
|  |    "/MD" option (the CRT with multithreading DLL support), but the Visual | ||||||
|  |    C++ linker default is "/ML" (the single threaded CRT). | ||||||
|  | 
 | ||||||
|  |    One workaround to this issue is requiring users to always link with | ||||||
|  |    the same CRT as GLUT is compiled with.  That requires users supply a | ||||||
|  |    non-standard option.  GLUT 3.7 has its own built-in workaround where | ||||||
|  |    the executable's "exit" function pointer is covertly passed to GLUT. | ||||||
|  |    GLUT then calls the executable's exit function pointer to ensure that | ||||||
|  |    any "atexit" calls registered by the application are called if GLUT | ||||||
|  |    needs to exit. | ||||||
|  | 
 | ||||||
|  |    Note that the __glut*WithExit routines should NEVER be called directly. | ||||||
|  |    To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */ | ||||||
|  | 
 | ||||||
|  | /* to get the prototype for exit() */ | ||||||
|  | #include <stdlib.h> | ||||||
|  | 
 | ||||||
|  | #if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK) && !defined(__WATCOMC__) | ||||||
|  | FGAPI void FGAPIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int)); | ||||||
|  | FGAPI int FGAPIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int)); | ||||||
|  | FGAPI int FGAPIENTRY __glutCreateMenuWithExit(void (* func)(int), void (__cdecl *exitfunc)(int)); | ||||||
|  | #ifndef FREEGLUT_BUILDING_LIB | ||||||
|  | #if defined(__GNUC__) | ||||||
|  | #define FGUNUSED __attribute__((unused)) | ||||||
|  | #else | ||||||
|  | #define FGUNUSED | ||||||
|  | #endif | ||||||
|  | static void FGAPIENTRY FGUNUSED glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); } | ||||||
|  | #define glutInit glutInit_ATEXIT_HACK | ||||||
|  | static int FGAPIENTRY FGUNUSED glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); } | ||||||
|  | #define glutCreateWindow glutCreateWindow_ATEXIT_HACK | ||||||
|  | static int FGAPIENTRY FGUNUSED glutCreateMenu_ATEXIT_HACK(void (* func)(int)) { return __glutCreateMenuWithExit(func, exit); } | ||||||
|  | #define glutCreateMenu glutCreateMenu_ATEXIT_HACK | ||||||
|  | #endif | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | #ifdef __cplusplus | ||||||
|  |     } | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | /*** END OF FILE ***/ | ||||||
|  | 
 | ||||||
|  | #endif /* __FREEGLUT_STD_H__ */ | ||||||
							
								
								
									
										21
									
								
								thirdparty/freeglut/include/GL/glut.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								thirdparty/freeglut/include/GL/glut.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | |||||||
|  | #ifndef  __GLUT_H__ | ||||||
|  | #define  __GLUT_H__ | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * glut.h | ||||||
|  |  * | ||||||
|  |  * The freeglut library include file | ||||||
|  |  * | ||||||
|  |  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||||
|  |  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||||
|  |  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | ||||||
|  |  * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||||||
|  |  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||||||
|  |  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #include "freeglut_std.h" | ||||||
|  | 
 | ||||||
|  | /*** END OF FILE ***/ | ||||||
|  | 
 | ||||||
|  | #endif /* __GLUT_H__ */ | ||||||
							
								
								
									
										
											BIN
										
									
								
								thirdparty/freeglut/lib/freeglut.lib
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								thirdparty/freeglut/lib/freeglut.lib
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user