2#include "base/SharedPtr.h"
3#include "../base/BaseTypes.h"
12 ref class SpriteBatch;
13 ref class Manipulator;
14 ref class GameViewDrawHook;
16 ref class InternalCommandBufferHandle;
28 GameView(
const std::shared_ptr<kmyGfx::GameView>& ptr);
30 kmyGfx::GameView*
getNativePtr() {
return obj ? (*obj).get() :
nullptr; }
32 void draw(
bool swapbuffer,
float timeScale);
33 void preDraw(
float timeScale, Action<float>^ startFixedUpdate, Action<float>^ afterAnimate, Action<float>^ afterSimulate);
49 void setViewport(
int x,
int y,
int width,
int height);
66 void setDofParam(
float focalDistance,
float focalRange,
float radius);
69 void getImage(
int x,
int y,
int w,
int h, array<UINT32> ^buffer);
70 void getDepth(
int x,
int y,
int w,
int h, array<float>^ buffer);
71 void getNormal(
int x,
int y,
int w,
int h, array<UINT32>^ buffer);
76 void setFogParam(f32 start, f32 depthDensity, f32 heightFallOff);
77 void setSSAOParam(f32 radius, f32 minLimit, f32 maxLimit, f32 shadowScale,
int sampleCount, f32 contrast,
SharpKmyGfx::Color color,
SSAOALGORITHM algorithm,
SSAOBLURTYPE blurType,
int linearThresholdLevel,
float fadeDistance);
83 int pickupDetail(
float x,
float y, array<UINT16> ^idlist, array<SharpKmyMath::Vector3> ^wposlist, array<float> ^depthlist);
92 void pickupRect(
float left,
float top,
float right,
float bottom, System::Collections::Generic::List<UINT16>^ idlist,
bool ignoreTerrain,
bool ignoreManipulator);
195 bool _setSpriteBatch =
false;
197 bool _setCamera =
false;
200 bool _setDLPosture =
false;
202 bool _setDLColor =
false;
204 bool _setDLShadowColor =
false;
206 bool _setDLShadowVM =
false;
207 f32 _directionalLightShadowVolumeMargin;
208 bool _setDLShadowBias =
false;
209 f32 _directionalLightShadowBias;
210 bool _setDLShadowDistane =
false;
211 f32 _directionalLightShadowDistance;
212 bool _setCascadeStep =
false;
216 bool _setCascadeCount =
false;
217 int _cascadeCount = 4;
218 bool _setEnableCascadeViusalize =
false;
219 bool _enableCascadeVisualize =
false;
220 bool _setAmbientLight =
false;
222 bool _setViewport =
false;
227 bool _setViewportSize =
false;
228 int _viewportSizeWidth;
229 int _viewportSizeHeight;
230 bool _setDisplayID =
false;
231 unsigned int _displayID;
232 bool _setBackGroundColor =
false;
234 bool _setBloom =
false;
236 bool _setBloomParam =
false;
237 float _bloomParamApply;
238 float _bloomParamHilightThreshold;
239 bool _setAutoExposure =
false;
241 bool _setAutoExposureParam =
false;
242 float _autoExposureParamTargetBrightness;
243 float _autoExposureParamMinScale;
244 float _autoExposureParamMaxScale;
245 bool _setChromaticAbberation =
false;
246 bool _chromaticAbberation;
247 bool _setChromaticAbberationParam =
false;
248 float _chromaticAbberationParmSize;
249 bool _setDof =
false;
251 bool _setDofParam =
false;
252 float _dofParamSmoothStart;
253 float _dofParamSmoothRange;
254 float _dofParamRadius;
255 bool _setFxaa =
false;
257 bool _setReflectionMap =
false;
259 bool _setSkyBoxMaterial =
false;
260 System::Guid _skyBoxMaterial;
261 bool _setLutMap =
false;
262 System::Guid _lutMap;
263 bool _setFogColor =
false;
265 bool _setFogParam =
false;
267 f32 _fogParamDepthDensity;
268 f32 _fogParamHeightFallOff;
269 bool _setSSAOParam =
false;
270 f32 _ssaoParamRadius;
271 f32 _ssaoParamMinLimit;
272 f32 _ssaoParamMaxLimit;
273 f32 _ssaoParamShadowScle;
274 int _ssaoParamSampleCount;
275 f32 _ssaoParamContrast;
279 int _ssaoLinearThresholdLevel;
280 float _ssaoFadeDistance;
281 bool _setSSSSS =
false;
283 bool _setSSSSSParam =
false;
284 f32 _SSSSSParamRadius;
285 int _SSSSSParamSampleCount;
286 f32 _SSSSSParamApply;
287 bool _setShadowMapScale =
false;
288 float _shadowMapScale;
290 bool _setEnableVignette =
false;
291 bool _enableVignette;
292 bool _setVignette =
false;
294 bool _setIBLIntensity =
false;
296 bool _setBillboardLightModulation =
false;
297 float _billboardLightModulation;
298 bool _setReflectionIntensity =
false;
299 float _reflectionIntensity;
300 bool _setUsetDeferredLighting =
false;
301 bool _usetDeferredLighting;
303 bool _setSharpen =
false;
304 bool _sharpen =
false;
305 bool _setSharpenParam =
false;
306 float _sharpenParamStrength;
307 float _sharpenParamDistance;
309 void copy(settings% o)
311 _setSpriteBatch = o._setSpriteBatch;
312 _spriteBatch = o._spriteBatch;
313 _setCamera = o._setCamera;
314 _cameraProj = o._cameraProj;
315 _cameraView = o._cameraView;
316 _setDLPosture = o._setDLPosture;
317 _directionalLightPosture = o._directionalLightPosture;
318 _setDLColor = o._setDLColor;
319 _directionalLightColor = o._directionalLightColor;
320 _setDLShadowColor = o._setDLShadowColor;
321 _directionalLightShadowColor = o._directionalLightShadowColor;
322 _setDLShadowVM = o._setDLShadowVM;
323 _directionalLightShadowVolumeMargin = o._directionalLightShadowVolumeMargin;
324 _setDLShadowBias = o._setDLShadowBias;
325 _directionalLightShadowBias = o._directionalLightShadowBias;
326 _setDLShadowDistane = o._setDLShadowDistane;
327 _directionalLightShadowDistance = o._directionalLightShadowDistance;
328 _cascadeStep1 = o._cascadeStep1;
329 _cascadeStep2 = o._cascadeStep2;
330 _cascadeStep3 = o._cascadeStep3;
331 _cascadeCount = o._cascadeCount;
332 _enableCascadeVisualize = o._enableCascadeVisualize;
333 _setAmbientLight = o._setAmbientLight;
334 _ambientLight = o._ambientLight;
335 _setViewportSize = o._setViewportSize;
336 _viewportSizeWidth = o._viewportSizeWidth;
337 _viewportSizeHeight = o._viewportSizeHeight;
338 _setDisplayID = o._setDisplayID;
339 _displayID = o._displayID;
340 _setBackGroundColor = o._setBackGroundColor;
341 _backGroundColor = o._backGroundColor;
342 _setBloom = o._setBloom;
344 _setBloomParam = o._setBloomParam;
345 _bloomParamApply = o._bloomParamApply;
346 _bloomParamHilightThreshold = o._bloomParamHilightThreshold;
347 _setAutoExposure = o._setAutoExposure;
348 _autoExposure = o._autoExposure;
349 _setAutoExposureParam = o._setAutoExposureParam;
350 _autoExposureParamTargetBrightness = o._autoExposureParamTargetBrightness;
351 _autoExposureParamMinScale = o._autoExposureParamMinScale;
352 _autoExposureParamMaxScale = o._autoExposureParamMaxScale;
353 _setChromaticAbberation = o._setChromaticAbberation;
354 _chromaticAbberation = o._chromaticAbberation;
355 _setChromaticAbberationParam = o._setChromaticAbberationParam;
356 _chromaticAbberationParmSize = o._chromaticAbberationParmSize;
359 _setDofParam = o._setDofParam;
360 _dofParamSmoothStart = o._dofParamSmoothStart;
361 _dofParamSmoothRange = o._dofParamSmoothRange;
362 _dofParamRadius = o._dofParamRadius;
363 _setFxaa = o._setFxaa;
365 _setReflectionMap = o._setReflectionMap;
366 _reflectionMap = o._reflectionMap;
367 _setSkyBoxMaterial = o._setSkyBoxMaterial;
368 _skyBoxMaterial = o._skyBoxMaterial;
369 _setLutMap = o._setLutMap;
371 _setFogColor = o._setFogColor;
372 _fogColor = o._fogColor;
373 _setFogParam = o._setFogParam;
374 _fogParamStart = o._fogParamStart;
375 _fogParamDepthDensity = o._fogParamDepthDensity;
376 _fogParamHeightFallOff = o._fogParamHeightFallOff;
377 _setSSAOParam = o._setSSAOParam;
378 _ssaoParamRadius = o._ssaoParamRadius;
379 _ssaoParamMinLimit = o._ssaoParamMinLimit;
380 _ssaoParamMaxLimit = o._ssaoParamMaxLimit;
381 _ssaoParamShadowScle = o._ssaoParamShadowScle;
382 _ssaoParamSampleCount = o._ssaoParamSampleCount;
383 _ssaoParamContrast = o._ssaoParamContrast;
384 _ssaoParamColor = o._ssaoParamColor;
385 _setSSSSS = o._setSSSSS;
387 _setSSSSSParam = o._setSSSSSParam;
388 _SSSSSParamRadius = o._SSSSSParamRadius;
389 _SSSSSParamSampleCount = o._SSSSSParamSampleCount;
390 _SSSSSParamApply = o._SSSSSParamApply;
391 _setShadowMapScale = o._setShadowMapScale;
392 _shadowMapScale = o._shadowMapScale;
394 _setEnableVignette = o._setEnableVignette;
395 _enableVignette = o._enableVignette;
396 _setVignette = o._setVignette;
397 _vignatte = o._vignatte;
398 _setIBLIntensity = o._setIBLIntensity;
399 _IBLIntensity = o._IBLIntensity;
400 _setReflectionIntensity = o._setReflectionIntensity;
401 _reflectionIntensity = o._reflectionIntensity;
402 _setUsetDeferredLighting = o._setUsetDeferredLighting;
403 _usetDeferredLighting = o._usetDeferredLighting;
408 settings contextSaved;
Definition: GameViewDrawHook.h:17
Definition: GameView.h:19
virtual bool drawEnable()
Definition: GameView.h:21
Definition: GameView.h:25
void setShadowMapScale(float s)
Definition: GameView.cpp:1148
void setSelectionDrawEnabled(bool flg)
Definition: GameView.cpp:1014
void resetQualityAdjust()
Definition: GameView.h:119
void preDraw(float timeScale, Action< float >^ startFixedUpdate, Action< float >^ afterAnimate, Action< float >^ afterSimulate)
Definition: GameView.cpp:97
void setHiddenStencilColor(float r, float g, float b, float a)
Definition: GameView.h:144
void setPhysicsDebugDrawContactPoints(bool flg)
Definition: GameView.cpp:1028
bool XZPlaneHitTest(float u, float v, float yoffset, SharpKmyMath::Vector3 %hitpos)
Definition: GameView.cpp:934
void getTerrainNormal(float x, float y, SharpKmyMath::Vector3% nrm)
Definition: GameView.cpp:510
void baseImageCapture(bool flg)
Definition: GameView.cpp:1134
static Texture getBaseDepthTexture()
Definition: GameView.cpp:1111
static void setPerformanceMeterDrawMode(int mode)
Definition: GameView.h:157
void setDistanceFadeStart(float v)
Definition: GameView.h:110
void clearHoverHilightPickupID()
Definition: GameView.cpp:599
SharpKmyMath::Matrix4 getCameraView()
Definition: GameView.h:185
static GameView getMainGameView()
Definition: GameView.cpp:68
void showDevelopHint(bool flg)
Definition: GameView.h:179
void pickupRect(float left, float top, float right, float bottom, System::Collections::Generic::List< UINT16 >^ idlist, bool ignoreTerrain, bool ignoreManipulator)
Definition: GameView.cpp:545
Texture getCaptureColorTexture()
Definition: GameView.cpp:1089
void setChromaticAbberationParam(float size)
Definition: GameView.cpp:423
static void enableLimitFPS(bool flg)
Definition: GameView.cpp:46
void setVignette(float value)
Definition: GameView.cpp:654
void addDrawHook(GameViewDrawHook ^d)
Definition: GameView.cpp:1160
void addPhysics()
Definition: GameView.h:113
static int getCurrentGameView3DScreenWidth()
Definition: GameView.cpp:1488
void setShapenParam(float strength, float distance)
Definition: GameView.cpp:472
void setDirectionalLightShadowBias(f32 bias)
Definition: GameView.cpp:203
void setDirectionalLightPosture(SharpKmyMath::Matrix4^ posture)
Definition: GameView.cpp:155
static void setMainGameView(GameView^ gv)
Definition: GameView.cpp:63
Manipulator getManipulator()
Definition: GameView.cpp:967
static void windowsMessageEvent(IntPtr hWnd, UINT message, WPARAM wparam, LPARAM lparam)
Definition: GameView.cpp:1480
array< unsigned short > getHilightPicupIDs()
Definition: GameView.cpp:568
void setModelBoundSphereDrawType(ModelBoundSphereDrawType flg)
Definition: GameView.h:121
void setAmbientLight(SharpKmyGfx::Color color)
Definition: GameView.cpp:262
void setViewport(int x, int y, int width, int height)
Definition: GameView.cpp:281
void setSSSSSParam(f32 radius, int sampleCount, f32 apply)
Definition: GameView.cpp:906
~GameView()
Definition: GameView.cpp:29
void getCaptureFrame(array< UINT32 > ^color, array< UINT32 > ^depth)
Definition: GameView.cpp:802
void setViewportSize(int width, int height)
Definition: GameView.cpp:295
void enableChromaticAbberation(bool flg)
Definition: GameView.cpp:411
void enableBloom(bool flg)
Definition: GameView.cpp:360
SharpKmyMath::Vector2 getViewportSize()
Definition: GameView.cpp:308
void setCascadeCount(int num)
Definition: GameView.cpp:240
void setLutMap(System::Guid id)
Definition: GameView.cpp:630
void addSubGameView(GameView^ sub)
Definition: GameView.cpp:1056
void ignoreSuspendChecker()
Definition: GameView.h:143
void setFogParam(f32 start, f32 depthDensity, f32 heightFallOff)
Definition: GameView.cpp:854
void setPhysicsDebugDrawConstraints(bool flg)
Definition: GameView.cpp:1035
void enableSSSSS(bool flg)
Definition: GameView.cpp:894
void removeSubGameView(GameView^ sub)
Definition: GameView.h:132
void enableFxaa(bool flg)
Definition: GameView.cpp:485
void setBillboardLightModulation(float value)
Definition: GameView.cpp:678
void usetDeferredLighting(bool flg)
Definition: GameView.cpp:921
void setDirectionalLightShadowVolumeMargin(f32 margin)
Definition: GameView.cpp:191
void addPickupFrame(int size)
Definition: GameView.cpp:339
void setDirectionalLightShadowDistance(f32 distance)
Definition: GameView.cpp:215
void enableAsSubGameView(bool flg)
Definition: GameView.cpp:1069
void setCascadeStep(float s1, float s2, float s3)
Definition: GameView.cpp:227
static void setSpriteBatchToTaskGameView(SpriteBatch^ s)
Definition: GameView.cpp:973
void enableCascadeVisualize(bool flg)
Definition: GameView.cpp:251
int pickupDetail(float x, float y, array< UINT16 > ^idlist, array< SharpKmyMath::Vector3 > ^wposlist, array< float > ^depthlist)
Definition: GameView.cpp:521
void addDrawCommand(DrawEvent ev, InternalCommandBufferHandle^ icb)
Definition: GameView.cpp:1453
float getBlockElapsed(SharpKmyBase::PerformancePeriodType type)
Definition: GameView.cpp:1463
static void waitPreviousDrawingFinished()
Definition: GameView.cpp:122
void setPhysicsProcessEnabled(bool flag)
Definition: GameView.cpp:1042
void addManipulator()
Definition: GameView.h:115
static void setDrawSuspendChecker(GameViewDrawSuspendChecker^ body)
Definition: GameView.cpp:1437
void setDirectionalLightColor(SharpKmyGfx::Color color)
Definition: GameView.cpp:167
bool isDebugPause()
Definition: GameView.cpp:135
void enableVignette(bool flg)
Definition: GameView.cpp:642
static void setMaximumFPS(int fps)
Definition: GameView.cpp:52
SharpKmyPhysics::PhysicsBase getPhysics()
Definition: GameView.cpp:955
static void enableDraw(bool flg)
Definition: GameView.cpp:40
void save()
Definition: GameView.cpp:1203
void enableSharpen(bool flg)
Definition: GameView.cpp:461
Texture getCaptureDepthTexture()
Definition: GameView.cpp:1100
void restore()
Definition: GameView.cpp:1214
static void bootProgressMessage(System::String^ text)
Definition: GameView.cpp:999
GameView()
Definition: GameView.cpp:10
static GameViewDrawSuspendChecker s_checker
Definition: GameView.h:160
static bool isDrawSuspending()
Definition: GameView.cpp:1445
unsigned short pickup(float x, float y, SharpKmyMath::Vector3% wpos)
Definition: GameView.cpp:496
void addHilightPickupID(unsigned short id)
Definition: GameView.cpp:561
u32 getDisplayID()
Definition: GameView.h:52
void enableDynamicResolution(bool flg)
Definition: GameView.cpp:1141
void set3DGizmoDrawEnabled(bool flg)
Definition: GameView.cpp:1007
void setDofParam(float focalDistance, float focalRange, float radius)
Definition: GameView.cpp:447
bool owning
Definition: GameView.h:172
void setCamera(SharpKmyMath::Matrix4^ proj, SharpKmyMath::Matrix4^ view)
Definition: GameView.cpp:142
static void setMaximumResolution(int w, int h)
Definition: GameView.cpp:982
void addHoverHilightPickupID(unsigned short id)
Definition: GameView.cpp:592
void clearSettings()
Definition: GameView.h:80
void enableDof(bool flg)
Definition: GameView.cpp:435
void setReflectionMap(Texture^ tex)
Definition: GameView.cpp:606
void setIBLIntensity(float value)
Definition: GameView.cpp:666
bool viewVolumeCheck(float x, float y, float z, float radius)
Definition: GameView.cpp:1049
void setDisplayID(unsigned int id)
Definition: GameView.cpp:315
void setReflectionIntensity(float value)
Definition: GameView.cpp:690
void postDraw(bool swapbuffer)
Definition: GameView.cpp:114
void removeDrawHook(GameViewDrawHook^ d)
Definition: GameView.cpp:1176
void enableAutoExposure(bool flg)
Definition: GameView.cpp:385
void setSpriteBatch(SpriteBatch^ s)
Definition: GameView.cpp:824
static GameView getTaskGameView()
Definition: GameView.cpp:989
void removeSubGameView(GameView^ sub, bool removeForce)
Definition: GameView.cpp:1076
void use2DGizmo()
Definition: GameView.h:102
void debugPause(bool flg)
Definition: GameView.cpp:128
void getNormal(int x, int y, int w, int h, array< UINT32 >^ buffer)
Definition: GameView.cpp:717
void setBackGroundColor(SharpKmyGfx::Color color)
Definition: GameView.cpp:327
void setBloomParam(float apply, float hilightThreshold)
Definition: GameView.cpp:372
void setFogColor(SharpKmyGfx::Color color)
Definition: GameView.cpp:842
void copyBaseRenderingEnviroment(GameView^ src)
Definition: GameView.cpp:1125
void draw(bool swapbuffer, float timeScale)
Definition: GameView.cpp:74
static Texture getPickupIDTexture()
Definition: GameView.cpp:1118
bool m_ignoreSuspendChecker
Definition: GameView.h:171
void getImage(int x, int y, int w, int h, array< UINT32 > ^buffer)
Definition: GameView.cpp:702
void setDistanceFadeEnable(bool flg)
Definition: GameView.h:109
void setSSAOParam(f32 radius, f32 minLimit, f32 maxLimit, f32 shadowScale, int sampleCount, f32 contrast, SharpKmyGfx::Color color, SSAOALGORITHM algorithm, SSAOBLURTYPE blurType, int linearThresholdLevel, float fadeDistance)
Definition: GameView.cpp:868
void setPhysicsDebugDrawEnabled(int flag)
Definition: GameView.cpp:1021
void clearHilightPickupID()
Definition: GameView.cpp:585
void setAutoExposureParam(float targetBrightness, float minScale, float maxScale)
Definition: GameView.cpp:397
SharpKmyMath::Matrix4 getCameraProj()
Definition: GameView.h:181
static void setMaximumPhysicsUpdateCount(int count)
Definition: GameView.cpp:58
static void useAsyncCommandExec()
Definition: GameView.h:153
static void globalEnablePostFX(bool flg)
Definition: GameView.cpp:1194
void setDirectionalLightShadowColor(SharpKmyGfx::Color color)
Definition: GameView.cpp:179
int getFixedUpdateStepCount()
Definition: GameView.cpp:1471
void enableIconDrawer(bool enable)
Definition: GameView.h:177
void setBuildingLightBrightness(float value)
Definition: GameView.cpp:274
kmyGfx::GameView * getNativePtr()
Definition: GameView.h:30
void showMiniMeter(bool flg)
Definition: GameView.h:178
static int getCurrentGameView3DScreenHeight()
Definition: GameView.cpp:1496
void getDepth(int x, int y, int w, int h, array< float >^ buffer)
Definition: GameView.cpp:732
void clearDrawHook()
Definition: GameView.cpp:1186
void removeCaptureFrame()
Definition: GameView.cpp:353
void addCaptureFrame(int width, int height)
Definition: GameView.cpp:346
void setSkyBoxMaterial(System::Guid mtl)
Definition: GameView.cpp:618
void createScreenShot(System::String^ path)
Definition: GameView.cpp:793
Definition: GameView.h:412
static void addParticleResourceForLoadTest(System::String^ path)
Definition: GameView.cpp:1428
Definition: InternalCommandBuffer.h:12
Definition: Manipulator.h:8
Definition: SpriteBatch.h:9
static Matrix4 identity()
Definition: Matrix4.h:101
PerformancePeriodType
Definition: BaseTypes.h:6
SSAOBLURTYPE
Definition: GfxTypes.h:220
DrawEvent
Definition: GfxTypes.h:52
SSAOALGORITHM
Definition: GfxTypes.h:213
ModelBoundSphereDrawType
Definition: GfxTypes.h:60
SubGameViewDrawTrigger
Definition: GfxTypes.h:237
Definition: Billboard.h:6