实例介绍
Optick是一款超轻量级的C 游戏性能分析工具,提供了所需的所有工具,用于有效的性能分析和优化:仪器化、切换上下文、采样、GPU计数。如果你在寻找'Brofiler',它已经更名为'Optick',所以你来对地方了。Optick支持多个平台,包括Windows、Linux、MacOS,以及一些游戏平台如XBox、PS4和UE4。它具有多种功能,包括仪器化、切换上下文、采样、GPU计数等。
【实例截图】
文件清单
└── optick-8abd28dee1a4034c973a3d32cd1777118e72df7e
├── appveyor.yml
├── CMakeLists.txt
├── CMakeSettings.json
├── gui
│ ├── AutoEmbedLibs
│ │ ├── ICSharpCode.AvalonEdit.dll
│ │ ├── SharpDX.D3DCompiler.dll
│ │ ├── SharpDX.Direct2D1.dll
│ │ ├── SharpDX.Direct3D11.dll
│ │ ├── SharpDX.dll
│ │ ├── SharpDX.DXGI.dll
│ │ └── System.Windows.Interactivity.dll
│ ├── CMakeLists.txt
│ ├── FodyWeavers.xml
│ ├── FodyWeavers.xsd
│ ├── InteractiveDataDisplay.WPF
│ │ ├── Axes
│ │ │ ├── Axis.cs
│ │ │ ├── AxisGrid.cs
│ │ │ ├── AxisOrientation.cs
│ │ │ ├── ILabelProvider.cs
│ │ │ ├── LabelProvider.cs
│ │ │ ├── MinorTicksProvider.cs
│ │ │ ├── PlotAxis.cs
│ │ │ ├── RoundHelper.cs
│ │ │ └── TicksProvider.cs
│ │ ├── Chart.cs
│ │ ├── Common
│ │ │ ├── ArrayHelper.cs
│ │ │ ├── DataRect.cs
│ │ │ ├── IPalette.cs
│ │ │ ├── MathHelper.cs
│ │ │ ├── Palette.cs
│ │ │ └── Range.cs
│ │ ├── Figure.cs
│ │ ├── InteractiveDataDisplay.WPF.csproj
│ │ ├── Legend
│ │ │ ├── CountToVisibilityConverter.cs
│ │ │ ├── DefaultTemplates.xaml
│ │ │ ├── Legend.cs
│ │ │ ├── LegendItemsPanel.cs
│ │ │ └── SizeLegendControl.cs
│ │ ├── Navigation
│ │ │ ├── KeyboardNavigation.cs
│ │ │ └── MouseNavigation.cs
│ │ ├── Palette
│ │ │ ├── PaletteControl.cs
│ │ │ └── Palette.Converters.cs
│ │ ├── PlotBase.cs
│ │ ├── PlotCompositionChange.cs
│ │ ├── Plots
│ │ │ ├── Base
│ │ │ │ ├── BackgroundBitmapRenderer.cs
│ │ │ │ └── Plot.cs
│ │ │ ├── BingMaps
│ │ │ │ └── BingMapsChart.cs
│ │ │ ├── Heatmap
│ │ │ │ ├── HeatmapBuilder.cs
│ │ │ │ ├── HeatmapGraph.cs
│ │ │ │ └── HeatmapTooltipLayer.cs
│ │ │ ├── Line
│ │ │ │ └── LineGraph.cs
│ │ │ └── Markers
│ │ │ ├── CartesianMarkerGraph.cs
│ │ │ ├── DataSeries.cs
│ │ │ ├── DynamicMarkerViewModel.cs
│ │ │ ├── GenericDataSeries.cs
│ │ │ ├── MarkerGraph.Converters.cs
│ │ │ ├── MarkerGraph.cs
│ │ │ ├── MarkerGraphsWithTemplates.cs
│ │ │ └── MarkerTemplates.xaml
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Themes
│ │ │ └── Generic.xaml
│ │ ├── Transforms
│ │ │ └── DataTransforms.cs
│ │ └── VerticalContentControl.cs
│ ├── Optick
│ │ ├── AppBootStrapper.cs
│ │ ├── app.config
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── Controls
│ │ │ ├── AttachmentViewControl.xaml
│ │ │ ├── AttachmentViewControl.xaml.cs
│ │ │ ├── CaptureStats.xaml
│ │ │ ├── CaptureStats.xaml.cs
│ │ │ ├── CaptureThumbnail.xaml
│ │ │ ├── CaptureThumbnail.xaml.cs
│ │ │ ├── EditStorageListDialog.xaml
│ │ │ ├── EditStorageListDialog.xaml.cs
│ │ │ ├── EditTaskTrackerListDialog.xaml
│ │ │ ├── EditTaskTrackerListDialog.xaml.cs
│ │ │ ├── FileHistory.xaml
│ │ │ ├── FileHistory.xaml.cs
│ │ │ ├── FrameCapture.xaml
│ │ │ ├── FrameCapture.xaml.cs
│ │ │ ├── FunctionSearch.xaml
│ │ │ ├── FunctionSearch.xaml.cs
│ │ │ ├── RoutedEvents.cs
│ │ │ ├── SettingsControl.xaml
│ │ │ ├── SettingsControl.xaml.cs
│ │ │ ├── Settings.cs
│ │ │ ├── SharedSettings.cs
│ │ │ ├── TagsControl.xaml
│ │ │ └── TagsControl.xaml.cs
│ │ ├── FodyWeavers.xml
│ │ ├── FodyWeavers.xsd
│ │ ├── Frames
│ │ │ ├── FrameDataTable.xaml
│ │ │ ├── FrameDataTable.xaml.cs
│ │ │ ├── FrameInfo.xaml
│ │ │ ├── FrameInfo.xaml.cs
│ │ │ ├── SourceViewControl.xaml
│ │ │ └── SourceViewControl.xaml.cs
│ │ ├── Optick.csproj
│ │ ├── packages.config
│ │ ├── Platform
│ │ │ └── Platform.cs
│ │ ├── ProfilerClient.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── DesignTimeResources.xaml
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ ├── Resources
│ │ │ ├── Bug.ico
│ │ │ └── icon.ico
│ │ ├── SamplingFrameControl.xaml
│ │ ├── SamplingFrameControl.xaml.cs
│ │ ├── SearchBox.xaml
│ │ ├── SearchBox.xaml.cs
│ │ ├── SourceWindow.xaml
│ │ ├── SourceWindow.xaml.cs
│ │ ├── TaskManager
│ │ │ ├── AttachmentStorage.cs
│ │ │ ├── brofiler-github-07994fd14248.p12
│ │ │ └── TaskTracker.cs
│ │ ├── themes
│ │ │ ├── BaseDark.xaml
│ │ │ ├── Blue.xaml
│ │ │ ├── Brushes.xaml
│ │ │ ├── Controls.xaml
│ │ │ ├── Steel.xaml
│ │ │ └── Window.xaml
│ │ ├── TimeLine
│ │ │ ├── Icons
│ │ │ │ ├── CallStack-icon.png
│ │ │ │ ├── Clear-icon.png
│ │ │ │ ├── ClearSampling-icon.png
│ │ │ │ ├── Eye-icon.png
│ │ │ │ ├── Filter-icon.png
│ │ │ │ ├── Glasses-icon.png
│ │ │ │ ├── Hook-icon.png
│ │ │ │ ├── Pause-icon.png
│ │ │ │ ├── Percent-icon.png
│ │ │ │ ├── Play-icon.png
│ │ │ │ ├── Save-icon.png
│ │ │ │ ├── Search-icon.png
│ │ │ │ ├── Source-icon.png
│ │ │ │ ├── Stop-icon.ico
│ │ │ │ ├── Stop-icon.png
│ │ │ │ ├── Timer-icon.png
│ │ │ │ ├── Trash2-icon.png
│ │ │ │ └── Warning-icon.png
│ │ │ ├── TimeLineItem.xaml
│ │ │ ├── TimeLineItem.xaml.cs
│ │ │ ├── TimeLine.xaml
│ │ │ └── TimeLine.xaml.cs
│ │ ├── ViewModels
│ │ │ ├── AddressBarViewModel.cs
│ │ │ ├── CaptureSettingsViewModel.cs
│ │ │ ├── FunctionSummaryViewModel.cs
│ │ │ ├── MainViewModel.cs
│ │ │ ├── MemoryStatsViewModel.cs
│ │ │ ├── ScreenShotViewModel.cs
│ │ │ ├── SummaryViewerModel.cs
│ │ │ └── TaskTrackerViewModel.cs
│ │ └── Views
│ │ ├── AddressBarView.xaml
│ │ ├── AddressBarView.xaml.cs
│ │ ├── CaptureSettingsView.xaml
│ │ ├── CaptureSettingsView.xaml.cs
│ │ ├── FunctionDescriptionView.xaml
│ │ ├── FunctionDescriptionView.xaml.cs
│ │ ├── FunctionHistoryChartView.xaml
│ │ ├── FunctionHistoryChartView.xaml.cs
│ │ ├── FunctionHistoryTableView.xaml
│ │ ├── FunctionHistoryTableView.xaml.cs
│ │ ├── FunctionInstanceView.xaml
│ │ ├── FunctionInstanceView.xaml.cs
│ │ ├── FunctionSummaryView.xaml
│ │ ├── FunctionSummaryView.xaml.cs
│ │ ├── MainView.xaml
│ │ ├── MainView.xaml.cs
│ │ ├── ScreenShotView.xaml
│ │ ├── ScreenShotView.xaml.cs
│ │ ├── SummaryViewer.xaml
│ │ ├── SummaryViewer.xaml.cs
│ │ ├── TaskTrackerView.xaml
│ │ └── TaskTrackerView.xaml.cs
│ ├── OptickApp_vs2022.sln
│ ├── OptickVSIX
│ │ ├── BuildProgressState.cs
│ │ ├── BuildProgressWindowCommand.cs
│ │ ├── BuildProgressWindow.cs
│ │ ├── OptickVSIX.csproj
│ │ ├── OptickVSIXPackage.cs
│ │ ├── OptickVSIXPackage.vsct
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Resources
│ │ │ ├── BuildProgressWindowCommand.png
│ │ │ └── Style.xaml
│ │ ├── source.extension.vsixmanifest
│ │ ├── ViewModels
│ │ │ └── BuildViewModel.cs
│ │ └── Views
│ │ ├── BuildProgressWindowControl.xaml
│ │ └── BuildProgressWindowControl.xaml.cs
│ ├── Profiler.Controls
│ │ ├── ColorToBrushConverter.cs
│ │ ├── ControlUtils.cs
│ │ ├── Converters.cs
│ │ ├── FunctionSearch.xaml
│ │ ├── FunctionSearch.xaml.cs
│ │ ├── Icons
│ │ │ └── Icons.xaml
│ │ ├── packages.config
│ │ ├── Profiler.Controls.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RoutedEvents.cs
│ │ ├── SourceView.cs
│ │ ├── ThreadView
│ │ │ ├── ChartRow.cs
│ │ │ ├── EventsThreadRow.cs
│ │ │ ├── EventThreadView.xaml
│ │ │ ├── EventThreadView.xaml.cs
│ │ │ ├── SamplingThreadView.xaml
│ │ │ ├── SamplingThreadView.xaml.cs
│ │ │ ├── ThreadNameView.xaml
│ │ │ ├── ThreadNameView.xaml.cs
│ │ │ ├── ThreadRow.cs
│ │ │ ├── ThreadViewControl.xaml
│ │ │ ├── ThreadViewControl.xaml.cs
│ │ │ └── ThreadViewSettings.cs
│ │ ├── ViewModels
│ │ │ ├── SamplingViewModel.cs
│ │ │ └── ThreadFilterViewModel.cs
│ │ └── Views
│ │ ├── ThreadFilterView.xaml
│ │ └── ThreadFilterView.xaml.cs
│ ├── Profiler.Data
│ │ ├── Callstack.cs
│ │ ├── Capture.cs
│ │ ├── CaptureSettings.cs
│ │ ├── Communication
│ │ │ └── Message.cs
│ │ ├── Durationable.cs
│ │ ├── EventBoard.cs
│ │ ├── EventData.cs
│ │ ├── EventDescription.cs
│ │ ├── EventFrame.cs
│ │ ├── EventTree.cs
│ │ ├── FrameCollection.cs
│ │ ├── Frame.cs
│ │ ├── FunctionStats.cs
│ │ ├── Mode.cs
│ │ ├── packages.config
│ │ ├── Profiler.Data.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── ResponseHolder.cs
│ │ ├── SamplingFrame.cs
│ │ ├── Summary.cs
│ │ ├── Synchronization.cs
│ │ ├── SysCall.cs
│ │ ├── Tag.cs
│ │ ├── TraceGroup.cs
│ │ └── Utils.cs
│ ├── Profiler.DirectX
│ │ ├── ComplexDynamicMesh.cs
│ │ ├── DirectXCanvas.xaml
│ │ ├── DirectXCanvas.xaml.cs
│ │ ├── DynamicBuffer.cs
│ │ ├── DynamicMesh.cs
│ │ ├── Fonts
│ │ │ ├── SegoeUI_16_Normal_0.png
│ │ │ ├── SegoeUI_16_Normal.fnt
│ │ │ ├── SegoeUI_20_Normal_0.png
│ │ │ ├── SegoeUI_20_Normal.fnt
│ │ │ ├── SegoeUI_24_Normal_0.png
│ │ │ ├── SegoeUI_24_Normal.fnt
│ │ │ ├── SegoeUI_28_Normal_0.png
│ │ │ ├── SegoeUI_28_Normal.fnt
│ │ │ ├── SegoeUI_32_Normal_0.png
│ │ │ └── SegoeUI_32_Normal.fnt
│ │ ├── Fragment.cs
│ │ ├── Mesh.cs
│ │ ├── Profiler.DirectX.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RenderSettings.cs
│ │ ├── ScrollableWinFormsHost.cs
│ │ ├── Shaders
│ │ │ ├── Basic.fx
│ │ │ ├── Basic_ps.fxo
│ │ │ ├── Basic_vs.fxo
│ │ │ ├── Compile.bat
│ │ │ ├── Text.fx
│ │ │ ├── Text_ps.fxo
│ │ │ └── Text_vs.fxo
│ │ ├── TextManager.cs
│ │ ├── TextureLoader.cs
│ │ └── Utils.cs
│ ├── Profiler.InfrastructureMvvm
│ │ ├── BaseViewModel.cs
│ │ ├── BoolToVisibilityConverter.cs
│ │ ├── BootStrapperBase.cs
│ │ ├── DialogManager.cs
│ │ ├── DialogViewModel.cs
│ │ ├── FileDialogService.cs
│ │ ├── IDialogManager.cs
│ │ ├── IDialogViewModel.cs
│ │ ├── IFileDialogService.cs
│ │ ├── IOnClosingHandler.cs
│ │ ├── IOnLoadedHandler.cs
│ │ ├── IUiExecution.cs
│ │ ├── IWindowManager.cs
│ │ ├── packages.config
│ │ ├── Profiler.InfrastructureMvvm.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RelayCommandAsync.cs
│ │ ├── RelayCommand.cs
│ │ ├── RelayCommandGenericAsync.cs
│ │ ├── RelayCommandGeneric.cs
│ │ ├── ViewLocator.cs
│ │ ├── ViewModelLocator.cs
│ │ ├── ViewModelPresenter.cs
│ │ └── WindowManager.cs
│ ├── Profiler.Interop
│ │ ├── DbgHelp.cs
│ │ ├── NtDll.cs
│ │ ├── Profiler.Interop.csproj
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ └── Profiler.Trace
│ ├── Config.cs
│ ├── DataCollector.cs
│ ├── DataEvents.cs
│ ├── DiagnosticsCollector.cs
│ ├── ETWCollector.cs
│ ├── packages.config
│ ├── Profiler.Trace.csproj
│ └── Properties
│ └── AssemblyInfo.cs
├── LICENSE
├── premake5.lua
├── README.md
├── samples
│ ├── Common
│ │ ├── TaskScheduler
│ │ │ ├── README.txt
│ │ │ └── Scheduler
│ │ │ ├── Include
│ │ │ │ ├── MTAppInterop.h
│ │ │ │ ├── MTArrayView.h
│ │ │ │ ├── MTAtomic.h
│ │ │ │ ├── MTColorTable.h
│ │ │ │ ├── MTConcurrentRingBuffer.h
│ │ │ │ ├── MTConfig.h
│ │ │ │ ├── MTDebug.h
│ │ │ │ ├── MTFiberContext.h
│ │ │ │ ├── MTFiberContext.inl
│ │ │ │ ├── MTGroupedTask.h
│ │ │ │ ├── MTPlatform.h
│ │ │ │ ├── MTProfilerEventListener.h
│ │ │ │ ├── MTQueueMPMC.h
│ │ │ │ ├── MTScheduler.h
│ │ │ │ ├── MTScheduler.inl
│ │ │ │ ├── MTStackRequirements.h
│ │ │ │ ├── MTStaticVector.h
│ │ │ │ ├── MTTaskBucket.h
│ │ │ │ ├── MTTaskDesc.h
│ │ │ │ ├── MTTaskGroup.h
│ │ │ │ ├── MTTaskPool.h
│ │ │ │ ├── MTTaskQueue.h
│ │ │ │ ├── MTThreadContext.h
│ │ │ │ ├── MTTools.h
│ │ │ │ ├── MTTypes.h
│ │ │ │ ├── Platform
│ │ │ │ │ ├── Common
│ │ │ │ │ │ ├── MTAtomic.h
│ │ │ │ │ │ ├── MTSpinWait.h
│ │ │ │ │ │ └── MTThread.h
│ │ │ │ │ ├── Posix
│ │ │ │ │ │ ├── MTAtomic.h
│ │ │ │ │ │ ├── MTCommon.h
│ │ │ │ │ │ ├── MTEvent.h
│ │ │ │ │ │ ├── MTFiber.h
│ │ │ │ │ │ ├── MTMemory.h
│ │ │ │ │ │ ├── MTMutex.h
│ │ │ │ │ │ ├── MTThread.h
│ │ │ │ │ │ └── MTUtils.h
│ │ │ │ │ └── Windows
│ │ │ │ │ ├── MicroWindows.cpp
│ │ │ │ │ ├── MicroWindows.h
│ │ │ │ │ ├── MTAtomic.h
│ │ │ │ │ ├── MTCommon.h
│ │ │ │ │ ├── MTEvent.h
│ │ │ │ │ ├── MTFiberDefault.h
│ │ │ │ │ ├── MTFiber.h
│ │ │ │ │ ├── MTFiberOptimized.h
│ │ │ │ │ ├── MTMemory.h
│ │ │ │ │ ├── MTMutex.h
│ │ │ │ │ ├── MTThread.h
│ │ │ │ │ └── MTUtils.h
│ │ │ │ └── Scopes
│ │ │ │ └── MTScopes.h
│ │ │ └── Source
│ │ │ ├── MTDefaultAppInterop.cpp
│ │ │ ├── MTFiberContext.cpp
│ │ │ ├── MTScheduler.cpp
│ │ │ └── MTThreadContext.cpp
│ │ └── TestEngine
│ │ ├── TestEngine.cpp
│ │ ├── TestEngine.h
│ │ └── TestImage.h
│ ├── ConsoleApp
│ │ └── main.cpp
│ ├── ConsoleAppMT
│ │ └── main.cpp
│ ├── DurangoUWP
│ │ ├── App.cpp
│ │ ├── App.h
│ │ ├── Assets
│ │ │ ├── LockScreenLogo.scale-200.png
│ │ │ ├── SplashScreen.scale-200.png
│ │ │ ├── Square150x150Logo.scale-200.png
│ │ │ ├── Square44x44Logo.scale-200.png
│ │ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png
│ │ │ ├── StoreLogo.png
│ │ │ └── Wide310x150Logo.scale-200.png
│ │ ├── BrofilerDurangoTest_backup.vcxproj
│ │ ├── BrofilerDurangoTest_backup.vcxproj.filters
│ │ ├── BrofilerDurangoTestMain.cpp
│ │ ├── BrofilerDurangoTestMain.h
│ │ ├── BrofilerDurangoTest_TemporaryKey.pfx
│ │ ├── BrofilerDurangoTest.vcxproj
│ │ ├── BrofilerDurangoTest.vcxproj.filters
│ │ ├── Common
│ │ │ ├── DeviceResources.cpp
│ │ │ ├── DeviceResources.h
│ │ │ ├── DirectXHelper.h
│ │ │ └── StepTimer.h
│ │ ├── Content
│ │ │ ├── Sample3DSceneRenderer.cpp
│ │ │ ├── Sample3DSceneRenderer.h
│ │ │ ├── SampleFpsTextRenderer.cpp
│ │ │ ├── SampleFpsTextRenderer.h
│ │ │ ├── SamplePixelShader.hlsl
│ │ │ ├── SampleVertexShader.hlsl
│ │ │ └── ShaderStructures.h
│ │ ├── Package.appxmanifest
│ │ ├── pch.cpp
│ │ └── pch.h
│ ├── UnrealEnginePlugin
│ │ ├── Config
│ │ │ └── FilterPlugin.ini
│ │ ├── GUI
│ │ │ └── Config.xml
│ │ ├── OptickPlugin.uplugin
│ │ ├── Resources
│ │ │ └── Icon128.png
│ │ ├── Setup.bat
│ │ └── Source
│ │ ├── OptickPlugin.Build.cs
│ │ ├── Private
│ │ │ ├── OptickCommands.cpp
│ │ │ ├── OptickCommands.h
│ │ │ ├── OptickPlugin.cpp
│ │ │ ├── OptickStyle.cpp
│ │ │ ├── OptickStyle.h
│ │ │ └── OptickUE4Classes.h
│ │ ├── Public
│ │ │ └── IOptickPlugin.h
│ │ └── ThirdParty
│ │ └── Optick
│ │ └── README.txt
│ ├── WindowsD3D12
│ │ ├── Camera.cpp
│ │ ├── Camera.h
│ │ ├── D3D12Multithreading.cpp
│ │ ├── D3D12Multithreading.h
│ │ ├── d3dx12.h
│ │ ├── DXSample.cpp
│ │ ├── DXSample.h
│ │ ├── DXSampleHelper.h
│ │ ├── FrameResource.cpp
│ │ ├── FrameResource.h
│ │ ├── Main.cpp
│ │ ├── ScreenGrab12.cpp
│ │ ├── ScreenGrab12.h
│ │ ├── shaders.hlsl
│ │ ├── SquidRoom.bin
│ │ ├── SquidRoom.h
│ │ ├── stdafx.cpp
│ │ ├── stdafx.h
│ │ ├── StepTimer.h
│ │ ├── Win32Application.cpp
│ │ └── Win32Application.h
│ └── WindowsVulkan
│ ├── assimp
│ │ ├── ai_assert.h
│ │ ├── anim.h
│ │ ├── camera.h
│ │ ├── cexport.h
│ │ ├── cfileio.h
│ │ ├── cimport.h
│ │ ├── color4.h
│ │ ├── color4.inl
│ │ ├── Compiler
│ │ │ ├── poppack1.h
│ │ │ ├── pstdint.h
│ │ │ └── pushpack1.h
│ │ ├── config.h
│ │ ├── DefaultLogger.hpp
│ │ ├── defs.h
│ │ ├── Exporter.hpp
│ │ ├── importerdesc.h
│ │ ├── Importer.hpp
│ │ ├── IOStream.hpp
│ │ ├── IOSystem.hpp
│ │ ├── light.h
│ │ ├── Logger.hpp
│ │ ├── LogStream.hpp
│ │ ├── material.h
│ │ ├── material.inl
│ │ ├── matrix3x3.h
│ │ ├── matrix3x3.inl
│ │ ├── matrix4x4.h
│ │ ├── matrix4x4.inl
│ │ ├── mesh.h
│ │ ├── metadata.h
│ │ ├── NullLogger.hpp
│ │ ├── port
│ │ │ └── AndroidJNI
│ │ │ └── AndroidJNIIOSystem.h
│ │ ├── postprocess.h
│ │ ├── ProgressHandler.hpp
│ │ ├── quaternion.h
│ │ ├── quaternion.inl
│ │ ├── scene.h
│ │ ├── texture.h
│ │ ├── types.h
│ │ ├── vector2.h
│ │ ├── vector2.inl
│ │ ├── vector3.h
│ │ ├── vector3.inl
│ │ └── version.h
│ ├── base
│ │ ├── benchmark.hpp
│ │ ├── camera.hpp
│ │ ├── frustum.hpp
│ │ ├── keycodes.hpp
│ │ ├── threadpool.hpp
│ │ ├── VulkanAndroid.cpp
│ │ ├── VulkanAndroid.h
│ │ ├── VulkanBuffer.hpp
│ │ ├── VulkanDebug.cpp
│ │ ├── VulkanDebug.h
│ │ ├── VulkanDevice.hpp
│ │ ├── vulkanexamplebase.cpp
│ │ ├── vulkanexamplebase.h
│ │ ├── VulkanFrameBuffer.hpp
│ │ ├── VulkanglTFModel.hpp
│ │ ├── VulkanHeightmap.hpp
│ │ ├── VulkanInitializers.hpp
│ │ ├── VulkanModel.hpp
│ │ ├── VulkanSwapChain.hpp
│ │ ├── VulkanTexture.hpp
│ │ ├── VulkanTools.cpp
│ │ ├── VulkanTools.h
│ │ ├── VulkanUIOverlay.cpp
│ │ └── VulkanUIOverlay.h
│ ├── data
│ │ ├── models
│ │ │ ├── retroufo.dae
│ │ │ ├── retroufo_glow.dae
│ │ │ ├── retroufo_license.txt
│ │ │ ├── retroufo_red.dae
│ │ │ ├── retroufo_red_lowpoly.dae
│ │ │ ├── sphere.3ds
│ │ │ └── sphere.obj
│ │ └── shaders
│ │ ├── base
│ │ │ ├── uioverlay.frag
│ │ │ ├── uioverlay.frag.spv
│ │ │ ├── uioverlay.vert
│ │ │ └── uioverlay.vert.spv
│ │ └── multithreading
│ │ ├── generate-spirv.bat
│ │ ├── phong.frag
│ │ ├── phong.frag.spv
│ │ ├── phong.vert
│ │ ├── phong.vert.spv
│ │ ├── starsphere.frag
│ │ ├── starsphere.frag.spv
│ │ ├── starsphere.vert
│ │ └── starsphere.vert.spv
│ ├── dll
│ │ └── assimp-vc140-mt.dll
│ ├── gli
│ │ ├── clear.hpp
│ │ ├── CMakeLists.txt
│ │ ├── comparison.hpp
│ │ ├── convert.hpp
│ │ ├── copy.hpp
│ │ ├── core
│ │ │ ├── bc.hpp
│ │ │ ├── bc.inl
│ │ │ ├── clear.hpp
│ │ │ ├── clear.inl
│ │ │ ├── comparison.inl
│ │ │ ├── convert_func.hpp
│ │ │ ├── convert.inl
│ │ │ ├── coord.hpp
│ │ │ ├── copy.inl
│ │ │ ├── duplicate.inl
│ │ │ ├── dx.inl
│ │ │ ├── file.hpp
│ │ │ ├── file.inl
│ │ │ ├── filter_compute.hpp
│ │ │ ├── filter.hpp
│ │ │ ├── filter.inl
│ │ │ ├── flip.hpp
│ │ │ ├── flip.inl
│ │ │ ├── format.inl
│ │ │ ├── generate_mipmaps.inl
│ │ │ ├── gl.inl
│ │ │ ├── image.inl
│ │ │ ├── levels.inl
│ │ │ ├── load_dds.inl
│ │ │ ├── load.inl
│ │ │ ├── load_kmg.inl
│ │ │ ├── load_ktx.inl
│ │ │ ├── make_texture.inl
│ │ │ ├── mipmaps_compute.hpp
│ │ │ ├── reduce.inl
│ │ │ ├── s3tc.hpp
│ │ │ ├── s3tc.inl
│ │ │ ├── sampler1d_array.inl
│ │ │ ├── sampler1d.inl
│ │ │ ├── sampler2d_array.inl
│ │ │ ├── sampler2d.inl
│ │ │ ├── sampler3d.inl
│ │ │ ├── sampler_cube_array.inl
│ │ │ ├── sampler_cube.inl
│ │ │ ├── sampler.inl
│ │ │ ├── save_dds.inl
│ │ │ ├── save.inl
│ │ │ ├── save_kmg.inl
│ │ │ ├── save_ktx.inl
│ │ │ ├── storage.hpp
│ │ │ ├── storage.inl
│ │ │ ├── storage_linear.hpp
│ │ │ ├── storage_linear.inl
│ │ │ ├── texture1d_array.inl
│ │ │ ├── texture1d.inl
│ │ │ ├── texture2d_array.inl
│ │ │ ├── texture2d.inl
│ │ │ ├── texture3d.inl
│ │ │ ├── texture_cube_array.inl
│ │ │ ├── texture_cube.inl
│ │ │ ├── texture.inl
│ │ │ ├── transform.inl
│ │ │ ├── view.inl
│ │ │ └── workaround.hpp
│ │ ├── duplicate.hpp
│ │ ├── dx.hpp
│ │ ├── format.hpp
│ │ ├── generate_mipmaps.hpp
│ │ ├── gl.hpp
│ │ ├── gli.hpp
│ │ ├── image.hpp
│ │ ├── levels.hpp
│ │ ├── load_dds.hpp
│ │ ├── load.hpp
│ │ ├── load_kmg.hpp
│ │ ├── load_ktx.hpp
│ │ ├── make_texture.hpp
│ │ ├── reduce.hpp
│ │ ├── sampler1d_array.hpp
│ │ ├── sampler1d.hpp
│ │ ├── sampler2d_array.hpp
│ │ ├── sampler2d.hpp
│ │ ├── sampler3d.hpp
│ │ ├── sampler_cube_array.hpp
│ │ ├── sampler_cube.hpp
│ │ ├── sampler.hpp
│ │ ├── save_dds.hpp
│ │ ├── save.hpp
│ │ ├── save_kmg.hpp
│ │ ├── save_ktx.hpp
│ │ ├── target.hpp
│ │ ├── texture1d_array.hpp
│ │ ├── texture1d.hpp
│ │ ├── texture2d_array.hpp
│ │ ├── texture2d.hpp
│ │ ├── texture3d.hpp
│ │ ├── texture_cube_array.hpp
│ │ ├── texture_cube.hpp
│ │ ├── texture.hpp
│ │ ├── transform.hpp
│ │ ├── type.hpp
│ │ └── view.hpp
│ ├── glm
│ │ ├── CMakeLists.txt
│ │ ├── common.hpp
│ │ ├── detail
│ │ │ ├── dummy.cpp
│ │ │ ├── _features.hpp
│ │ │ ├── _fixes.hpp
│ │ │ ├── func_common.hpp
│ │ │ ├── func_common.inl
│ │ │ ├── func_common_simd.inl
│ │ │ ├── func_exponential.hpp
│ │ │ ├── func_exponential.inl
│ │ │ ├── func_exponential_simd.inl
│ │ │ ├── func_geometric.hpp
│ │ │ ├── func_geometric.inl
│ │ │ ├── func_geometric_simd.inl
│ │ │ ├── func_integer.hpp
│ │ │ ├── func_integer.inl
│ │ │ ├── func_integer_simd.inl
│ │ │ ├── func_matrix.hpp
│ │ │ ├── func_matrix.inl
│ │ │ ├── func_matrix_simd.inl
│ │ │ ├── func_packing.hpp
│ │ │ ├── func_packing.inl
│ │ │ ├── func_packing_simd.inl
│ │ │ ├── func_trigonometric.hpp
│ │ │ ├── func_trigonometric.inl
│ │ │ ├── func_trigonometric_simd.inl
│ │ │ ├── func_vector_relational.hpp
│ │ │ ├── func_vector_relational.inl
│ │ │ ├── func_vector_relational_simd.inl
│ │ │ ├── glm.cpp
│ │ │ ├── _noise.hpp
│ │ │ ├── precision.hpp
│ │ │ ├── setup.hpp
│ │ │ ├── _swizzle_func.hpp
│ │ │ ├── _swizzle.hpp
│ │ │ ├── type_float.hpp
│ │ │ ├── type_gentype.hpp
│ │ │ ├── type_gentype.inl
│ │ │ ├── type_half.hpp
│ │ │ ├── type_half.inl
│ │ │ ├── type_int.hpp
│ │ │ ├── type_mat2x2.hpp
│ │ │ ├── type_mat2x2.inl
│ │ │ ├── type_mat2x3.hpp
│ │ │ ├── type_mat2x3.inl
│ │ │ ├── type_mat2x4.hpp
│ │ │ ├── type_mat2x4.inl
│ │ │ ├── type_mat3x2.hpp
│ │ │ ├── type_mat3x2.inl
│ │ │ ├── type_mat3x3.hpp
│ │ │ ├── type_mat3x3.inl
│ │ │ ├── type_mat3x4.hpp
│ │ │ ├── type_mat3x4.inl
│ │ │ ├── type_mat4x2.hpp
│ │ │ ├── type_mat4x2.inl
│ │ │ ├── type_mat4x3.hpp
│ │ │ ├── type_mat4x3.inl
│ │ │ ├── type_mat4x4.hpp
│ │ │ ├── type_mat4x4.inl
│ │ │ ├── type_mat4x4_simd.inl
│ │ │ ├── type_mat.hpp
│ │ │ ├── type_mat.inl
│ │ │ ├── type_vec1.hpp
│ │ │ ├── type_vec1.inl
│ │ │ ├── type_vec2.hpp
│ │ │ ├── type_vec2.inl
│ │ │ ├── type_vec3.hpp
│ │ │ ├── type_vec3.inl
│ │ │ ├── type_vec4.hpp
│ │ │ ├── type_vec4.inl
│ │ │ ├── type_vec4_simd.inl
│ │ │ ├── type_vec.hpp
│ │ │ ├── type_vec.inl
│ │ │ └── _vectorize.hpp
│ │ ├── exponential.hpp
│ │ ├── ext.hpp
│ │ ├── fwd.hpp
│ │ ├── geometric.hpp
│ │ ├── glm.hpp
│ │ ├── gtc
│ │ │ ├── bitfield.hpp
│ │ │ ├── bitfield.inl
│ │ │ ├── color_space.hpp
│ │ │ ├── color_space.inl
│ │ │ ├── constants.hpp
│ │ │ ├── constants.inl
│ │ │ ├── epsilon.hpp
│ │ │ ├── epsilon.inl
│ │ │ ├── functions.hpp
│ │ │ ├── functions.inl
│ │ │ ├── integer.hpp
│ │ │ ├── integer.inl
│ │ │ ├── matrix_access.hpp
│ │ │ ├── matrix_access.inl
│ │ │ ├── matrix_integer.hpp
│ │ │ ├── matrix_inverse.hpp
│ │ │ ├── matrix_inverse.inl
│ │ │ ├── matrix_transform.hpp
│ │ │ ├── matrix_transform.inl
│ │ │ ├── noise.hpp
│ │ │ ├── noise.inl
│ │ │ ├── packing.hpp
│ │ │ ├── packing.inl
│ │ │ ├── quaternion.hpp
│ │ │ ├── quaternion.inl
│ │ │ ├── quaternion_simd.inl
│ │ │ ├── random.hpp
│ │ │ ├── random.inl
│ │ │ ├── reciprocal.hpp
│ │ │ ├── reciprocal.inl
│ │ │ ├── round.hpp
│ │ │ ├── round.inl
│ │ │ ├── type_aligned.hpp
│ │ │ ├── type_precision.hpp
│ │ │ ├── type_precision.inl
│ │ │ ├── type_ptr.hpp
│ │ │ ├── type_ptr.inl
│ │ │ ├── ulp.hpp
│ │ │ ├── ulp.inl
│ │ │ ├── vec1.hpp
│ │ │ └── vec1.inl
│ │ ├── gtx
│ │ │ ├── associated_min_max.hpp
│ │ │ ├── associated_min_max.inl
│ │ │ ├── bit.hpp
│ │ │ ├── bit.inl
│ │ │ ├── closest_point.hpp
│ │ │ ├── closest_point.inl
│ │ │ ├── color_encoding.hpp
│ │ │ ├── color_encoding.inl
│ │ │ ├── color_space.hpp
│ │ │ ├── color_space.inl
│ │ │ ├── color_space_YCoCg.hpp
│ │ │ ├── color_space_YCoCg.inl
│ │ │ ├── common.hpp
│ │ │ ├── common.inl
│ │ │ ├── compatibility.hpp
│ │ │ ├── compatibility.inl
│ │ │ ├── component_wise.hpp
│ │ │ ├── component_wise.inl
│ │ │ ├── dual_quaternion.hpp
│ │ │ ├── dual_quaternion.inl
│ │ │ ├── euler_angles.hpp
│ │ │ ├── euler_angles.inl
│ │ │ ├── extended_min_max.hpp
│ │ │ ├── extended_min_max.inl
│ │ │ ├── extend.hpp
│ │ │ ├── extend.inl
│ │ │ ├── exterior_product.hpp
│ │ │ ├── exterior_product.inl
│ │ │ ├── fast_exponential.hpp
│ │ │ ├── fast_exponential.inl
│ │ │ ├── fast_square_root.hpp
│ │ │ ├── fast_square_root.inl
│ │ │ ├── fast_trigonometry.hpp
│ │ │ ├── fast_trigonometry.inl
│ │ │ ├── float_notmalize.inl
│ │ │ ├── gradient_paint.hpp
│ │ │ ├── gradient_paint.inl
│ │ │ ├── handed_coordinate_space.hpp
│ │ │ ├── handed_coordinate_space.inl
│ │ │ ├── hash.hpp
│ │ │ ├── hash.inl
│ │ │ ├── integer.hpp
│ │ │ ├── integer.inl
│ │ │ ├── intersect.hpp
│ │ │ ├── intersect.inl
│ │ │ ├── io.hpp
│ │ │ ├── io.inl
│ │ │ ├── log_base.hpp
│ │ │ ├── log_base.inl
│ │ │ ├── matrix_cross_product.hpp
│ │ │ ├── matrix_cross_product.inl
│ │ │ ├── matrix_decompose.hpp
│ │ │ ├── matrix_decompose.inl
│ │ │ ├── matrix_factorisation.hpp
│ │ │ ├── matrix_factorisation.inl
│ │ │ ├── matrix_interpolation.hpp
│ │ │ ├── matrix_interpolation.inl
│ │ │ ├── matrix_major_storage.hpp
│ │ │ ├── matrix_major_storage.inl
│ │ │ ├── matrix_operation.hpp
│ │ │ ├── matrix_operation.inl
│ │ │ ├── matrix_query.hpp
│ │ │ ├── matrix_query.inl
│ │ │ ├── matrix_transform_2d.hpp
│ │ │ ├── matrix_transform_2d.inl
│ │ │ ├── mixed_product.hpp
│ │ │ ├── mixed_product.inl
│ │ │ ├── normal.hpp
│ │ │ ├── normal.inl
│ │ │ ├── normalize_dot.hpp
│ │ │ ├── normalize_dot.inl
│ │ │ ├── norm.hpp
│ │ │ ├── norm.inl
│ │ │ ├── number_precision.hpp
│ │ │ ├── number_precision.inl
│ │ │ ├── optimum_pow.hpp
│ │ │ ├── optimum_pow.inl
│ │ │ ├── orthonormalize.hpp
│ │ │ ├── orthonormalize.inl
│ │ │ ├── perpendicular.hpp
│ │ │ ├── perpendicular.inl
│ │ │ ├── polar_coordinates.hpp
│ │ │ ├── polar_coordinates.inl
│ │ │ ├── projection.hpp
│ │ │ ├── projection.inl
│ │ │ ├── quaternion.hpp
│ │ │ ├── quaternion.inl
│ │ │ ├── range.hpp
│ │ │ ├── raw_data.hpp
│ │ │ ├── raw_data.inl
│ │ │ ├── rotate_normalized_axis.hpp
│ │ │ ├── rotate_normalized_axis.inl
│ │ │ ├── rotate_vector.hpp
│ │ │ ├── rotate_vector.inl
│ │ │ ├── scalar_multiplication.hpp
│ │ │ ├── scalar_relational.hpp
│ │ │ ├── scalar_relational.inl
│ │ │ ├── spline.hpp
│ │ │ ├── spline.inl
│ │ │ ├── std_based_type.hpp
│ │ │ ├── std_based_type.inl
│ │ │ ├── string_cast.hpp
│ │ │ ├── string_cast.inl
│ │ │ ├── transform2.hpp
│ │ │ ├── transform2.inl
│ │ │ ├── transform.hpp
│ │ │ ├── transform.inl
│ │ │ ├── type_aligned.hpp
│ │ │ ├── type_aligned.inl
│ │ │ ├── type_trait.hpp
│ │ │ ├── type_trait.inl
│ │ │ ├── vec_swizzle.hpp
│ │ │ ├── vector_angle.hpp
│ │ │ ├── vector_angle.inl
│ │ │ ├── vector_query.hpp
│ │ │ ├── vector_query.inl
│ │ │ ├── wrap.hpp
│ │ │ └── wrap.inl
│ │ ├── integer.hpp
│ │ ├── mat2x2.hpp
│ │ ├── mat2x3.hpp
│ │ ├── mat2x4.hpp
│ │ ├── mat3x2.hpp
│ │ ├── mat3x3.hpp
│ │ ├── mat3x4.hpp
│ │ ├── mat4x2.hpp
│ │ ├── mat4x3.hpp
│ │ ├── mat4x4.hpp
│ │ ├── matrix.hpp
│ │ ├── packing.hpp
│ │ ├── simd
│ │ │ ├── common.h
│ │ │ ├── exponential.h
│ │ │ ├── geometric.h
│ │ │ ├── integer.h
│ │ │ ├── matrix.h
│ │ │ ├── packing.h
│ │ │ ├── platform.h
│ │ │ ├── trigonometric.h
│ │ │ └── vector_relational.h
│ │ ├── trigonometric.hpp
│ │ ├── vec2.hpp
│ │ ├── vec3.hpp
│ │ ├── vec4.hpp
│ │ └── vector_relational.hpp
│ ├── imgui
│ │ ├── imconfig.h
│ │ ├── imgui.cpp
│ │ ├── imgui_demo.cpp
│ │ ├── imgui_draw.cpp
│ │ ├── imgui.h
│ │ ├── imgui_internal.h
│ │ ├── imgui_widgets.cpp
│ │ ├── imstb_rectpack.h
│ │ ├── imstb_textedit.h
│ │ ├── imstb_truetype.h
│ │ └── LICENSE.txt
│ ├── libs
│ │ └── assimp
│ │ ├── assimp.lib
│ │ └── assimp-vc140-mt.lib
│ └── multithreading.cpp
├── src
│ ├── optick_capi.cpp
│ ├── optick_capi.h
│ ├── optick_common.h
│ ├── optick.config.h
│ ├── optick_core.cpp
│ ├── optick_core.freebsd.h
│ ├── optick_core.h
│ ├── optick_core.linux.h
│ ├── optick_core.macos.h
│ ├── optick_core.platform.h
│ ├── optick_core.win.h
│ ├── optick_gpu.cpp
│ ├── optick_gpu.d3d12.cpp
│ ├── optick_gpu.h
│ ├── optick_gpu.vulkan.cpp
│ ├── optick.h
│ ├── optick_memory.h
│ ├── optick_message.cpp
│ ├── optick_message.h
│ ├── optick_miniz.cpp
│ ├── optick_miniz.h
│ ├── optick_serialization.cpp
│ ├── optick_serialization.h
│ ├── optick_server.cpp
│ └── optick_server.h
└── tools
├── GenerateProjects_all.bat
├── GenerateProjects.bat
├── GenerateProjects_cmake.bat
├── GenerateProjects_gpu.bat
├── Linux
│ └── premake5
├── MacOS
│ └── premake5
├── OptickConfig.cmake.in
├── Publish.bat
├── Publish_Main.bat
├── Publish_UnrealEngine.bat
├── RemoveXML.exe
├── Step1_PrepareVersion.cmd
├── StripNdaCode.cmd
├── sunifdef.exe
└── Windows
└── premake5.exe
109 directories, 942 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论