OROCHI
 
Loading...
Searching...
No Matches
GxRender.h
Go to the documentation of this file.
1//===========================================================================
10//===========================================================================
11#pragma once
12
13GX_CORE_NAMESPACE_BEGIN()
14
15//===========================================================================
17//===========================================================================
50
51//===========================================================================
54//===========================================================================
55#if GX_USE_DX12
56enum class RENDER_SHADER
57{
58 VERTEX,
59#if GX_ENABLE_TESSELLATION
60 HULL,
61 DOMAIN_,
62 GEOMETRY,
63#endif //GX_ENABLE_TESSELLATION
64 PIXEL,
65 DRAW_MAX,
66#if GX_ENABLE_COMPUTE_SHADER
67 COMPUTE = DRAW_MAX,
68 MAX,
69#else //GX_ENABLE_COMPUTE_SHADER
70 MAX = DRAW_MAX,
71#endif // !GX_ENABLE_COMPUTE_SHADER
72};
73#else //GX_USE_DX12
74enum class RENDER_SHADER
75{
76 VERTEX,
77 PIXEL,
78#if GX_ENABLE_TESSELLATION
79 HULL,
80 DOMAIN_,
81 GEOMETRY,
82#endif //GX_ENABLE_TESSELLATION
83 DRAW_MAX,
84#if GX_ENABLE_COMPUTE_SHADER
85 COMPUTE = DRAW_MAX,
86 MAX,
87#else //GX_ENABLE_COMPUTE_SHADER
88 MAX = DRAW_MAX,
89#endif // !GX_ENABLE_COMPUTE_SHADER
90};
91#endif // !GX_USE_DX12
92
93//===========================================================================
95//===========================================================================
97{
98 AUTOMATIC,
100#if !defined(_PS4) && !defined(_PS5)
101 _90,
102#endif // !_PS4 && !_PS5
103 _60,
104#if !defined(_PS4) && !defined(_PS5)
105 _45,
106#endif // !_PS4 && !_PS5
107 _30,
108 _20,
109 MAX,
110};
111#if GX_DEVELOP
112GX_ENUM_BEGIN(RENDER_FRAME_RATE)
113 GX_ENUM_VALUE("ディスプレイ依存", RENDER_FRAME_RATE::AUTOMATIC),
114 GX_ENUM_VALUE("無制限", RENDER_FRAME_RATE::FORCE_IMMEDIATE),
115#if !defined(_PS4) && !defined(_PS5)
116 GX_ENUM_VALUE("90FPS", RENDER_FRAME_RATE::_90),
117#endif // !_PS4 && !_PS5
118 GX_ENUM_VALUE("60FPS", RENDER_FRAME_RATE::_60),
119#if !defined(_PS4) && !defined(_PS5)
120 GX_ENUM_VALUE("45FPS", RENDER_FRAME_RATE::_45),
121#endif // !_PS4 && !_PS5
122 GX_ENUM_VALUE("30FPS", RENDER_FRAME_RATE::_30),
123 GX_ENUM_VALUE("20FPS", RENDER_FRAME_RATE::_20),
124GX_ENUM_END()
125#endif //GX_DEVELOP
126
127//===========================================================================
129//===========================================================================
131{
132 POINT_LIST,
133 LINE_LIST,
134 LINE_STRIP,
137#if GX_ENABLE_TESSELLATION
138 PATCH_LIST_3,
139#endif // GX_ENABLE_TESSELLATION
140 MAX,
141};
142
143//===========================================================================
145//===========================================================================
147{
148 UNKNOWN,
149 _16,
150 _32,
151 MAX,
152};
153
154//===========================================================================
156//===========================================================================
181
182//===========================================================================
184//===========================================================================
186{
188// RENDER_MAPPINGNO_FLASH = (1 << 1), //!< キャッシュフラッシュを行わない(Xboxのみ有効)
192// RENDER_MAPPINGRAW = (1 << 5), //!< ハード依存のフォーマットで直接アクセス
193};
194
195//===========================================================================
197//===========================================================================
199{
200 SHORTN = (0x0100),
201 FLOAT = (0x0200),
202 FLOAT1 = (0x0201),
203 FLOAT2 = (0x0202),
204 FLOAT3 = (0x0203),
205 FLOAT4 = (0x0204),
206 HALF = (0x0300),
207 HALF2 = (0x0302),
208 HALF4 = (0x0304),
209 FLOAT16_2= (0x0302),
210 FLOAT16_4= (0x0304),
211 UBYTEN = (0x0400),
212 UBYTE4N = (0x0404),
213 COLOR = (0x1404),
214 SHORT = (0x0500),
215 SHORT2 = (0x0502),
216 SHORT4 = (0x0504),
217 UBYTE = (0x0700),
218 UBYTE4 = (0x0704),
219};
220
221//===========================================================================
223//===========================================================================
225{
226 INDEXED,
227 INSTANCE,
228};
229
230//===========================================================================
232//===========================================================================
234{
235 POSITION,
237 NORMAL,
238 COLOR0,
239 COLOR1,
240 FOG,
241 PSIZE,
243 TEXCOORD0,
244 TEXCOORD1,
245 TEXCOORD2,
246 TEXCOORD3,
247 TEXCOORD4,
248 TEXCOORD5,
249 TEXCOORD6,
250 TEXCOORD7,
251 TEXCOORD8,
252 TEXCOORD9,
253 VFACE,
254 VPOS,
255 COLOR2,
256 COLOR3,
257 DEPTH,
259 MAX,
263};
264
265//===========================================================================
267//===========================================================================
268enum class RENDER_FORMAT : u32
269{
270 // タイプ取得:
271 // (_format & RENDER_FORMAT_TYPE_MASK) == RENDER_FORMAT_TYPE_INTEGER で比較
272 // RENDER_FORMAT はタイプ毎に 4bit なので 15 種類まで
273 TYPE_MASK = 0xF0,
274
275 UNKNOWN = 0x00,
276
277 // 整数
278 TYPE_INTEGER = 0x10,
279 R8G8B8A8 = 0x10,
280 R8G8B8X8,
281 R8X8X8A8,
282 R8,
283 A8,
285#if defined(_PS4) || defined(_PS5)
286 R32_UINT,
287 R10G10B10A2_UNORM,
288#elif defined(_NX64)
289 R8G8,
290#endif // _NX64
291
292 // 浮動小数点
293 TYPE_FLOAT = 0x80,
294 R32F = 0x80,
296 R16G16F,
298 R11G11B10F,
299
300 // DXT
301 TYPE_DXT = 0xD0,
302 DXT1 = 0xD0,
303 DXT3,
304 DXT5,
305 BC6H,
306 BC7,
307 DXT1_SRGB,
308 DXT3_SRGB,
309 DXT5_SRGB,
310 BC7_SRGB,
311
312 TYPE_DEPTH_STENCIL = 0xE0,
313 D16 = 0xE0,
314 D24S8 = 0xE1,
315#if defined(_PS4) || defined(_PS5)
316 // FMASK
317 TYPE_FMASK = 0xC5,
318 FMASK_S2F1 = 0xC0,
319 FMASK_S4F1,
320 FMASK_S8F1,
321 FMASK_S2F2,
322 FMASK_S4F2,
323 FMASK_S4F4,
324#endif // _PS4 || _PS5
325
326 TYPE_PVRTC = 0xB0,
327 PVRTC2 = 0xB0,
328 PVRTC4,
329 PVRTCII2,
330 PVRTCII4,
331};
332#if GX_DEVELOP
333GX_ENUM_BEGIN(RENDER_FORMAT)
334 GX_ENUM_VALUE("未定義", RENDER_FORMAT::UNKNOWN),
335 GX_ENUM_VALUE("R8G8B8A8", RENDER_FORMAT::R8G8B8A8),
336 GX_ENUM_VALUE("R8G8B8X8", RENDER_FORMAT::R8G8B8X8),
337 GX_ENUM_VALUE("R8X8X8A8", RENDER_FORMAT::R8X8X8A8),
338 GX_ENUM_VALUE("R8", RENDER_FORMAT::R8),
339 GX_ENUM_VALUE("A8", RENDER_FORMAT::A8),
340 GX_ENUM_VALUE("R8G8B8A8_SRGB", RENDER_FORMAT::R8G8B8A8_SRGB),
341#if defined(_PS4) || defined(_PS5)
342 GX_ENUM_VALUE("R32_UINT", RENDER_FORMAT::R32_UINT),
343 GX_ENUM_VALUE("R32_R10G10B10A2_UNORMUINT", RENDER_FORMAT::R10G10B10A2_UNORM),
344#elif defined(_NX64)
345 GX_ENUM_VALUE("R8G8", RENDER_FORMAT::R8G8),
346#endif //_NX64
347 GX_ENUM_VALUE("R32F", RENDER_FORMAT::R32F),
348 GX_ENUM_VALUE("R32G32B32A32F", RENDER_FORMAT::R32G32B32A32F),
349 GX_ENUM_VALUE("R16G16F", RENDER_FORMAT::R16G16F),
350 GX_ENUM_VALUE("R16G16B16A16F", RENDER_FORMAT::R16G16B16A16F),
351 GX_ENUM_VALUE("R11G11B10F", RENDER_FORMAT::R11G11B10F),
352 GX_ENUM_VALUE("DXT1", RENDER_FORMAT::DXT1),
353 GX_ENUM_VALUE("DXT3", RENDER_FORMAT::DXT3),
354 GX_ENUM_VALUE("DXT5", RENDER_FORMAT::DXT5),
355 GX_ENUM_VALUE("BC6H", RENDER_FORMAT::BC6H),
356 GX_ENUM_VALUE("BC7", RENDER_FORMAT::BC7),
357 GX_ENUM_VALUE("DXT1_SRGB", RENDER_FORMAT::DXT1_SRGB),
358 GX_ENUM_VALUE("DXT3_SRGB", RENDER_FORMAT::DXT3_SRGB),
359 GX_ENUM_VALUE("DXT5_SRGB", RENDER_FORMAT::DXT5_SRGB),
360 GX_ENUM_VALUE("BC7_SRGB", RENDER_FORMAT::BC7_SRGB),
361 GX_ENUM_VALUE("D16", RENDER_FORMAT::D16),
362 GX_ENUM_VALUE("D24S8", RENDER_FORMAT::D24S8),
363#if defined(_PS4) || defined(_PS5)
364 GX_ENUM_VALUE("FMASK_S2F1", RENDER_FORMAT::FMASK_S2F1),
365 GX_ENUM_VALUE("FMASK_S4F1", RENDER_FORMAT::FMASK_S4F1),
366 GX_ENUM_VALUE("FMASK_S8F1", RENDER_FORMAT::FMASK_S8F1),
367 GX_ENUM_VALUE("FMASK_S2F2", RENDER_FORMAT::FMASK_S2F2),
368 GX_ENUM_VALUE("FMASK_S4F2", RENDER_FORMAT::FMASK_S4F2),
369 GX_ENUM_VALUE("FMASK_S4F4", RENDER_FORMAT::FMASK_S4F4),
370#endif // _PS4 || _PS5
371 GX_ENUM_VALUE("PVRTC2", RENDER_FORMAT::PVRTC2),
372 GX_ENUM_VALUE("PVRTC4", RENDER_FORMAT::PVRTC4),
373 GX_ENUM_VALUE("PVRTCII2", RENDER_FORMAT::PVRTCII2),
374 GX_ENUM_VALUE("PVRTCII4", RENDER_FORMAT::PVRTCII4),
375GX_ENUM_END()
376#endif //GX_DEVELOP
377
378//===========================================================================
380//===========================================================================
382{
383 NONE = 0x00,
384
385 MSAAx2 = 0x10,
386 MSAAx4 = 0x11,
387
388 SSAAx2 = 0x20,
389 SSAAx4 = 0x21,
390};
391#if GX_DEVELOP
392GX_ENUM_BEGIN(RENDER_ANTI_ALIASING)
393 GX_ENUM_VALUE("NONE", RENDER_ANTI_ALIASING::NONE),
394 GX_ENUM_VALUE("MSAAx2", RENDER_ANTI_ALIASING::MSAAx2),
395 GX_ENUM_VALUE("MSAAx4", RENDER_ANTI_ALIASING::MSAAx4),
396 GX_ENUM_VALUE("SSAAx2", RENDER_ANTI_ALIASING::SSAAx2),
397 GX_ENUM_VALUE("SSAAx4", RENDER_ANTI_ALIASING::SSAAx4),
398GX_ENUM_END()
399#endif //GX_DEVELOP
400
401//===========================================================================
403//===========================================================================
404enum class RENDER_TEXTURE_TYPE : u32
405{
406 UNKNOWN,
407 _1D,
408 _2D,
409 _3D,
410 CUBE,
412};
413#if GX_DEVELOP
414GX_ENUM_BEGIN(RENDER_TEXTURE_TYPE)
415 GX_ENUM_VALUE("UNKNOWN", RENDER_TEXTURE_TYPE::UNKNOWN),
416 GX_ENUM_VALUE("1D", RENDER_TEXTURE_TYPE::_1D),
417 GX_ENUM_VALUE("2D", RENDER_TEXTURE_TYPE::_2D),
418 GX_ENUM_VALUE("3D", RENDER_TEXTURE_TYPE::_3D),
419 GX_ENUM_VALUE("CUBE", RENDER_TEXTURE_TYPE::CUBE),
420 GX_ENUM_VALUE("DEPTH_STENCIL", RENDER_TEXTURE_TYPE::DEPTHSTENCIL),
421GX_ENUM_END()
422#endif //GX_DEVELOP
423
424//===========================================================================
426//===========================================================================
428{
429 POSITIVE_X,
430 NEGATIVE_X,
431 POSITIVE_Y,
432 NEGATIVE_Y,
433 POSITIVE_Z,
434 NEGATIVE_Z,
435 MAX,
436};
437
438//===========================================================================
440//===========================================================================
441enum class RENDER_VIEW : u32
442{
443 _0 = 0,
444 _1,
445 _2,
446 _3,
447 _4,
448 _5,
449 _6,
450 _7,
451 RESERVE_0,
452 RESERVE_1,
453 RESERVE_2,
454 RESERVE_3,
455 GPGPU,
456 HUD,
457#if GX_DEVELOP
458 DEVELOP,
459#else //GX_DEVELOP
460 RESERVE_4,
461#endif // !GX_DEVELOP
462 OETF,
463 MAX,
465 INVALID = MAX,
466};
467#if GX_DEVELOP
468GX_ENUM_BEGIN(RENDER_VIEW)
469 GX_ENUM_VALUE("無効なビュー", RENDER_VIEW::INVALID),
470 GX_ENUM_VALUE("ビュー0", RENDER_VIEW::_0),
471 GX_ENUM_VALUE("ビュー1", RENDER_VIEW::_1),
472 GX_ENUM_VALUE("ビュー2", RENDER_VIEW::_2),
473 GX_ENUM_VALUE("ビュー3", RENDER_VIEW::_3),
474 GX_ENUM_VALUE("ビュー4", RENDER_VIEW::_4),
475 GX_ENUM_VALUE("ビュー5", RENDER_VIEW::_5),
476 GX_ENUM_VALUE("GPGPU用", RENDER_VIEW::GPGPU),
477 GX_ENUM_VALUE("開発用", RENDER_VIEW::DEVELOP),
478GX_ENUM_END()
479#endif //GX_DEVELOP
480
481//===========================================================================
483//===========================================================================
484enum class RENDER_SUB_VIEW : u32
485{
486 SHADOW_START,
487 SHADOW_0 = SHADOW_START,
488 SHADOW_1,
489 SHADOW_2,
490 SHADOW_3,
491 SHADOW_END = SHADOW_3,
492 POINT_SHADOW_START,
493 POINT_SHADOW_0 = POINT_SHADOW_START,
495 POINT_SHADOW_END = POINT_SHADOW_1,
496 NORMAL,
497 CUBE_MAP_START,
498 CUBE_MAP_0 = CUBE_MAP_START,
499 CUBE_MAP_1,
500 CUBE_MAP_2,
501 CUBE_MAP_3,
502 CUBE_MAP_4,
503 CUBE_MAP_5,
504 CUBE_MAP_END = CUBE_MAP_5,
505 MOTIONBLUR,
506 POST,
507 RESERVE_7,
508 MAX,
509};
510
511//===========================================================================
513//===========================================================================
514enum class RENDER_PASS : u32
515{
516 _0,
517 SHADOW = _0,
518 PRE_Z,
522 LIGHTING,
523 FILTER = LIGHTING,
524 PROCEDURAL,
525 OPACITY,
529 REDUCTION,
531 ENCODE,
532 HUD = ENCODE,
533 EFFECT,
536 OVERPAINT,
537 TOOL,
538 MAX = 32,
539};
540
541//===========================================================================
543//===========================================================================
544static constexpr u32 RENDER_SUB_PRIORITY_LIMIT = ((1 << 20) - 1);
545
546//===========================================================================
548//===========================================================================
564
566#define RENDER_STATE_VALUE_CAST(value) (*reinterpret_cast<const u32*>(&value))
567
568//===========================================================================
570//===========================================================================
572{
573 NEVER,
574 LESS,
575 EQUAL,
576 LESS_EQUAL,
577 GREATER,
578 NOT_EQUAL,
580 ALWAYS,
581 MAX,
582};
583#if GX_DEVELOP
585GX_ENUM_BEGIN(RENDER_COMPARISON_FUNCTION)
586 GX_ENUM_VALUE("常に失敗", RENDER_COMPARISON_FUNCTION::NEVER),
587 GX_ENUM_VALUE("常に成功", RENDER_COMPARISON_FUNCTION::ALWAYS),
588 GX_ENUM_VALUE("等しい時成功", RENDER_COMPARISON_FUNCTION::EQUAL),
589 GX_ENUM_VALUE("等しくない時成功", RENDER_COMPARISON_FUNCTION::NOT_EQUAL),
590 GX_ENUM_VALUE("より小さい時成功", RENDER_COMPARISON_FUNCTION::LESS),
591 GX_ENUM_VALUE("等しいかより小さい時成功", RENDER_COMPARISON_FUNCTION::LESS_EQUAL),
592 GX_ENUM_VALUE("より大きい時成功", RENDER_COMPARISON_FUNCTION::GREATER),
593 GX_ENUM_VALUE("等しいかより大きい時成功", RENDER_COMPARISON_FUNCTION::GREATER_EQUAL),
594GX_ENUM_END()
595#endif //GX_DEVELOP
596
597//===========================================================================
599//===========================================================================
601{
602 //-------------------------------------------------------------
604 //-------------------------------------------------------------
606
610
612 //-------------------------------------------------------------
614 //-------------------------------------------------------------
616
620 GxRenderDepthTestState(u32 enable, RENDER_COMPARISON_FUNCTION function, u32 writeEnable);
621
623 //-------------------------------------------------------------
625 //-------------------------------------------------------------
627
628 union
629 {
630 struct
631 {
632#if GX_BITFIELD_LITTLEENDIAN
633 u32 _enable:1;
635 u32 _writeEnable:1;
636 u32 _reserve:27;
637#else //GX_BITFIELD_LITTLEENDIAN
638 u32 _reserve:27;
641 u32 _enable:1;
642#endif // !GX_BITFIELD_LITTLEENDIAN
643 };
645 };
646
648};
649
650//===========================================================================
652//===========================================================================
654{
655 //-------------------------------------------------------------
657 //-------------------------------------------------------------
659
662
664 //-------------------------------------------------------------
666 //-------------------------------------------------------------
668
672 GxRenderStencilTestState(u32 enable, u32 function, u32 reference, u32 readMask, u32 writeMask, u32 operationFail, u32 operationZFail, u32 operationPass);
673
675 //-------------------------------------------------------------
677 //-------------------------------------------------------------
679
680 union
681 {
682 struct
683 {
684#if GX_BITFIELD_LITTLEENDIAN
685 u32 _enable : 1;
686 u32 _function : 3;
687 u32 _reference : 8;
688 u32 _readMask : 8;
689 u32 _writeMask : 8;
690 u32 _operationFail : 3;
691 u32 _operationZFail : 3;
692 u32 _operationPass : 3;
693 u32 _reserve : 27;
694#else //GX_BITFIELD_LITTLEENDIAN
695 u32 _reserve : 27;
699 u32 _writeMask : 8;
700 u32 _readMask : 8;
701 u32 _reference : 8;
702 u32 _function : 3;
703 u32 _enable : 1;
704#endif // !GX_BITFIELD_LITTLEENDIAN
705 };
707 };
708
710};
711
712//===========================================================================
714//===========================================================================
726
727//===========================================================================
729//===========================================================================
731{
732 //-----------------------------------------------------------
734 //-----------------------------------------------------------
736public:
737 // RTTI定義
738 GX_RTTI_STRUCT(GxRenderAlphaTestState)
739
740
744
746 //-----------------------------------------------------------
748 //-----------------------------------------------------------
750public:
754 GxRenderAlphaTestState(u32 enable, RENDER_COMPARISON_FUNCTION function, u32 reference);
755
757 //-------------------------------------------------------------
759 //-------------------------------------------------------------
761
762#if GX_DEVELOP
764 static GxGuiBase* createGui(GxProperty& property, GxTypedObject* pOwner, const GxRtti& rtti, u32 index);
765#endif //GX_DEVELOP
766
768 //-----------------------------------------------------------
770 //-----------------------------------------------------------
772public:
774 GX_FORCE_INLINE void getPropertyEnable(void* const pValue) { *static_cast<b32*>(pValue) = _enable; }
776 GX_FORCE_INLINE void setPropertyEnable(const void* const pValue) { _enable = *static_cast<b32*>(const_cast<void*>(pValue)); }
778 GX_FORCE_INLINE void getPropertyFunction(void* const pValue) { *static_cast<u32*>(pValue) = static_cast<s32>(_function); }
780 GX_FORCE_INLINE void setPropertyFunction(const void* const pValue) { _function = static_cast<RENDER_COMPARISON_FUNCTION>(*static_cast<u32*>(const_cast<void*>(pValue))); }
782 GX_FORCE_INLINE void getPropertyReference(void* const pValue) { *static_cast<u32*>(pValue) = _reference; }
784 GX_FORCE_INLINE void setPropertyReference(const void* const pValue) { _reference = *static_cast<u32*>(const_cast<void*>(pValue)); }
785
787 //-------------------------------------------------------------
789 //-------------------------------------------------------------
791
792 union
793 {
794 struct
795 {
796#if GX_BITFIELD_LITTLEENDIAN
797 u32 _enable:1;
799 u32 _reference:8;
800 u32 _reserve:20;
801#else //GX_BITFIELD_LITTLEENDIAN
802 u32 _reserve:20;
805 u32 _enable:1;
806#endif // !GX_BITFIELD_LITTLEENDIAN
807 };
809 };
810
812};
813
814//===========================================================================
816//===========================================================================
818{
819 ADD,
820 SUBTRACT,
822 MIN,
823 MAX,
824};
825
826//===========================================================================
828//===========================================================================
842
843//===========================================================================
845//===========================================================================
847{
848 //-----------------------------------------------------------
850 //-----------------------------------------------------------
852
866 static const GxRenderBlendState MUL;
867
869 //-------------------------------------------------------------
871 //-------------------------------------------------------------
873
877 GxRenderBlendState(u32 enable, RENDER_BLEND_OPERATION colorOperation, RENDER_BLEND_FACTOR colorFactorSrc, RENDER_BLEND_FACTOR colorFactorDst, RENDER_BLEND_OPERATION alphaOperation, RENDER_BLEND_FACTOR alphaFactorSrc, RENDER_BLEND_FACTOR alphaFactorDst);
878
880 //-------------------------------------------------------------
882 //-------------------------------------------------------------
884
885 union
886 {
887 struct
888 {
889#if GX_BITFIELD_LITTLEENDIAN
890 u32 _enable : 1;
897 u32 _reserve : 9;
898#else //GX_BITFIELD_LITTLEENDIAN
899 u32 _reserve : 9;
906 u32 _enable : 1;
907#endif // !GX_BITFIELD_LITTLEENDIAN
908 };
910 };
911
913};
914
915//===========================================================================
917//===========================================================================
919{
920 POINT,
921 LINE,
922 FILL,
923};
924
925//===========================================================================
927//===========================================================================
929{
930 NONE,
931 FRONT,
932 BACK,
933};
934#if GX_DEVELOP
935GX_ENUM_BEGIN(RENDER_FACE_CULLING_MODE)
936 GX_ENUM_VALUE("フロントフェース", RENDER_FACE_CULLING_MODE::FRONT),
937 GX_ENUM_VALUE("バックフェース", RENDER_FACE_CULLING_MODE::BACK),
938GX_ENUM_END()
939#endif //GX_DEVELOP
940
941//===========================================================================
943//===========================================================================
953
954//===========================================================================
956//===========================================================================
958{
959 WRAP,
960 MIRROR,
961 CLAMP,
962 BORDER,
963};
964#if GX_DEVELOP
965GX_ENUM_BEGIN(RENDER_SAMPLER_ADDRESS_MODE)
966 GX_ENUM_VALUE("ラップ", RENDER_SAMPLER_ADDRESS_MODE::WRAP),
967 GX_ENUM_VALUE("ミラー", RENDER_SAMPLER_ADDRESS_MODE::MIRROR),
968 GX_ENUM_VALUE("クランプ", RENDER_SAMPLER_ADDRESS_MODE::CLAMP),
969 GX_ENUM_VALUE("境界カラー", RENDER_SAMPLER_ADDRESS_MODE::BORDER),
970GX_ENUM_END()
971#endif //GX_DEVELOP
972
973//===========================================================================
975//===========================================================================
977{
978 BLACK,
979 WHITE,
980};
981#if GX_DEVELOP
982GX_ENUM_BEGIN(RENDER_SAMPLER_BORDER_COLOR)
983 GX_ENUM_VALUE("黒", RENDER_SAMPLER_BORDER_COLOR::BLACK),
984 GX_ENUM_VALUE("白", RENDER_SAMPLER_BORDER_COLOR::WHITE),
985GX_ENUM_END()
986#endif //GX_DEVELOP
987
988//===========================================================================
990//===========================================================================
991enum class RENDER_SAMPLER_FILTER : u32
992{
993 NONE,
994 POINT,
995 LINEAR,
997};
998#if GX_DEVELOP
999GX_ENUM_BEGIN(RENDER_SAMPLER_FILTER)
1000 GX_ENUM_VALUE("ポイント", RENDER_SAMPLER_FILTER::POINT),
1001 GX_ENUM_VALUE("線形補間", RENDER_SAMPLER_FILTER::LINEAR),
1002 GX_ENUM_VALUE("異方性", RENDER_SAMPLER_FILTER::ANISOTROPIC),
1003GX_ENUM_END()
1004#endif //GX_DEVELOP
1005
1006//===========================================================================
1008//===========================================================================
1010{
1011 _1,
1012 _2,
1013 _4,
1014 _6,
1015 _8,
1016 _10,
1017 _12,
1018 _16,
1019};
1020#if GX_DEVELOP
1021GX_ENUM_BEGIN(RENDER_SAMPLER_ANISOTROPY_MAX)
1022 GX_ENUM_VALUE("x1", RENDER_SAMPLER_ANISOTROPY_MAX::_1),
1023 GX_ENUM_VALUE("x2", RENDER_SAMPLER_ANISOTROPY_MAX::_2),
1024 GX_ENUM_VALUE("x4", RENDER_SAMPLER_ANISOTROPY_MAX::_4),
1025 GX_ENUM_VALUE("x6", RENDER_SAMPLER_ANISOTROPY_MAX::_6),
1026 GX_ENUM_VALUE("x8", RENDER_SAMPLER_ANISOTROPY_MAX::_8),
1027 GX_ENUM_VALUE("x10", RENDER_SAMPLER_ANISOTROPY_MAX::_10),
1028 GX_ENUM_VALUE("x12", RENDER_SAMPLER_ANISOTROPY_MAX::_12),
1029 GX_ENUM_VALUE("x16", RENDER_SAMPLER_ANISOTROPY_MAX::_16),
1030GX_ENUM_END()
1031#endif //GX_DEVELOP
1032
1033//===========================================================================
1035//===========================================================================
1037{
1038 NONE,
1039 SHADOW,
1040};
1041
1042//===========================================================================
1044//===========================================================================
1046{
1047 //-----------------------------------------------------------
1049 //-----------------------------------------------------------
1051public:
1052 // RTTI定義
1053 GX_RTTI_STRUCT(GxRenderSamplerState)
1054
1055
1057
1058 // 文字列定義
1059 static const GX_CSTR TEXT_ADDRESS_U;
1060 static const GX_CSTR TEXT_ADDRESS_V;
1061 static const GX_CSTR TEXT_ADDRESS_W;
1062 static const GX_CSTR TEXT_BORDER_COLOR;
1063 static const GX_CSTR TEXT_MAG_FILTER;
1064 static const GX_CSTR TEXT_MIN_FILTER;
1065 static const GX_CSTR TEXT_MIPMAP_FILTER;
1066 static const GX_CSTR TEXT_MIPMAP_LOD_BIAS;
1067 static const GX_CSTR TEXT_MIPMAP_LEVEL_MAX;
1068 static const GX_CSTR TEXT_ANISOTROPHY_MAX;
1069
1071 //-----------------------------------------------------------
1073 //-----------------------------------------------------------
1075public:
1079 GxRenderSamplerState(RENDER_SAMPLER_ADDRESS_MODE addressU, RENDER_SAMPLER_ADDRESS_MODE addressV, RENDER_SAMPLER_ADDRESS_MODE addressW, RENDER_SAMPLER_BORDER_COLOR borderColor, RENDER_SAMPLER_FILTER magFilter, RENDER_SAMPLER_FILTER minFilter, RENDER_SAMPLER_FILTER mipmapFilter, u32 mipmapLodBias, u32 mipmapLevelMax, RENDER_SAMPLER_ANISOTROPY_MAX anisotropyMax);
1080
1082 //-------------------------------------------------------------
1084 //-------------------------------------------------------------
1086
1087#if GX_DEVELOP
1089 static GxGuiBase* createGui(GxProperty& property, GxTypedObject* pOwner, const GxRtti& rtti, u32 index);
1090#endif //GX_DEVELOP
1091
1093 //-----------------------------------------------------------
1095 //-----------------------------------------------------------
1097
1098public:
1100 GX_FORCE_INLINE void getPropertyAddressU(void* const pValue) { *static_cast<u32*>(pValue) = static_cast<s32>(_addressU); }
1102 GX_FORCE_INLINE void setPropertyAddressU(const void* const pValue) { _addressU = static_cast<RENDER_SAMPLER_ADDRESS_MODE>(*static_cast<u32*>(const_cast<void*>(pValue))); }
1104 GX_FORCE_INLINE void getPropertyAddressV(void* const pValue) { *static_cast<u32*>(pValue) = static_cast<s32>(_addressV); }
1106 GX_FORCE_INLINE void setPropertyAddressV(const void* const pValue) { _addressV = static_cast<RENDER_SAMPLER_ADDRESS_MODE>(*static_cast<u32*>(const_cast<void*>(pValue))); }
1108 GX_FORCE_INLINE void getPropertyAddressW(void* const pValue) { *static_cast<u32*>(pValue) = static_cast<s32>(_addressW); }
1110 GX_FORCE_INLINE void setPropertyAddressW(const void* const pValue) { _addressW = static_cast<RENDER_SAMPLER_ADDRESS_MODE>(*static_cast<u32*>(const_cast<void*>(pValue))); }
1112 GX_FORCE_INLINE void getPropertyBorderColor(void* const pValue) { *static_cast<u32*>(pValue) = static_cast<s32>(_borderColor); }
1114 GX_FORCE_INLINE void setPropertyBorderColor(const void* const pValue) { _borderColor = static_cast<RENDER_SAMPLER_BORDER_COLOR>(*static_cast<u32*>(const_cast<void*>(pValue))); }
1116 GX_FORCE_INLINE void getPropertyMagFilter(void* const pValue) { *static_cast<u32*>(pValue) = static_cast<s32>(_magFilter); }
1118 GX_FORCE_INLINE void setPropertyMagFilter(const void* const pValue) { _magFilter = static_cast<RENDER_SAMPLER_FILTER>(*static_cast<u32*>(const_cast<void*>(pValue))); }
1120 GX_FORCE_INLINE void getPropertyMinFilter(void* const pValue) { *static_cast<u32*>(pValue) = static_cast<s32>(_minFilter); }
1122 GX_FORCE_INLINE void setPropertyMinFilter(const void* const pValue) { _minFilter = static_cast<RENDER_SAMPLER_FILTER>(*static_cast<u32*>(const_cast<void*>(pValue))); }
1124 GX_FORCE_INLINE void getPropertyMipmapFilter(void* const pValue) { *static_cast<u32*>(pValue) = static_cast<s32>(_mipmapFilter); }
1126 GX_FORCE_INLINE void setPropertyMipmapFilter(const void* const pValue) { _mipmapFilter = static_cast<RENDER_SAMPLER_FILTER>(*static_cast<u32*>(const_cast<void*>(pValue))); }
1128 GX_FORCE_INLINE void getPropertyMipmapLodBias(void* const pValue) { *static_cast<f32*>(pValue) = _mipmapLodBias / 32.0f; }
1130 GX_FORCE_INLINE void setPropertyMipmapLodBias(const void* const pValue) { _mipmapLodBias = static_cast<s32>(32 * *static_cast<f32*>(const_cast<void*>(pValue))); }
1132 GX_FORCE_INLINE void getPropertyMipmapLevelMax(void* const pValue) { *static_cast<u32*>(pValue) = _mipmapLevelMax; }
1134 GX_FORCE_INLINE void setPropertyMipmapLevelMax(const void* const pValue) { _mipmapLevelMax = *static_cast<u32*>(const_cast<void*>(pValue)); }
1136 GX_FORCE_INLINE void getPropertyAnisotropyMax(void* const pValue) { *static_cast<u32*>(pValue) = static_cast<s32>(_anisotropyMax); }
1138 GX_FORCE_INLINE void setPropertyAnisotropyMax(const void* const pValue) { _anisotropyMax = static_cast<RENDER_SAMPLER_ANISOTROPY_MAX>(*static_cast<u32*>(const_cast<void*>(pValue))); }
1140 GX_FORCE_INLINE void getPropertyComparison(void* const pValue) { *static_cast<u32*>(pValue) = static_cast<s32>(_comparison); }
1142 GX_FORCE_INLINE void setPropertyComparison(const void* const pValue) { _comparison = static_cast<RENDER_SAMPLER_COMPARISON>(*static_cast<u32*>(const_cast<void*>(pValue))); }
1143
1145 //-------------------------------------------------------------
1147 //-------------------------------------------------------------
1149
1150 union
1151 {
1152 struct
1153 {
1154#if GX_BITFIELD_LITTLEENDIAN
1162 s32 _mipmapLodBias:10;
1163 u32 _mipmapLevelMax:4;
1166 u32 _reserve:1;
1167#else // GX_BITFIELD_LITTLEENDIAN
1168 u32 _reserve:1;
1180#endif // !GX_BITFIELD_LITTLEENDIAN
1181 };
1183 };
1184
1186};
1187
1188//===========================================================================
1190//===========================================================================
1192{
1197#if defined(_PS4) || defined(_PS5)
1198 RENDER_CLEAR_FLAG_TARGET_4 = (0x1<<4),
1199 RENDER_CLEAR_FLAG_TARGET_5 = (0x1<<5),
1200 RENDER_CLEAR_FLAG_TARGET_6 = (0x1<<6),
1201 RENDER_CLEAR_FLAG_TARGET_7 = (0x1<<7),
1202 RENDER_CLEAR_FLAG_DEPTH = (0x1<<8),
1203 RENDER_CLEAR_FLAG_STENCIL = (0x1<<9),
1204#else // _PS4 || _PS5
1207#endif // !(_PS4 || _PS5)
1212#if defined(_PS4) || defined(_PS5)
1213 | RENDER_CLEAR_FLAG_TARGET_4
1214 | RENDER_CLEAR_FLAG_TARGET_5
1215 | RENDER_CLEAR_FLAG_TARGET_6
1216 | RENDER_CLEAR_FLAG_TARGET_7
1217#endif // _PS4 || _PS5
1220
1222};
1223
1224//===========================================================================
1226//===========================================================================
1228{
1229 TIMESTAMP,
1230 OCCULUSION,
1231};
1232
1233//===========================================================================
1235//===========================================================================
1243
1244#if defined(_PS4)
1245#if GX_ENABLE_NEO
1247enum class GX_NEO_RENDER_MODE
1248{
1249 NONE,
1250 _4KG,
1251 _4KCB,
1252 MAX,
1253};
1254#if GX_DEVELOP
1255GX_ENUM_BEGIN(GX_NEO_RENDER_MODE)
1256 GX_ENUM_VALUE("未設定", GX_NEO_RENDER_MODE::NONE),
1257 GX_ENUM_VALUE("4Kジオメトリ", GX_NEO_RENDER_MODE::_4KG),
1258 GX_ENUM_VALUE("4Kチェッカーボード", GX_NEO_RENDER_MODE::_4KCB),
1259GX_ENUM_END()
1260#endif //GX_DEVELOP
1261#endif // GX_ENABLE_NEO
1262#endif // _PS4
1263
1264GX_CORE_NAMESPACE_END()
void GxTypedObject
その他
Definition GxDefine.h:213
RENDER_SAMPLER_FILTER
サンプラステート(フィルタ)
Definition GxRender.h:992
@ LINEAR
線形補間
@ POINT
ポイント
RENDER_VIEW
描画優先度(ビュー)
Definition GxRender.h:442
@ GPGPU
GPGPU用
@ _2
ビュー2
@ _7
ビュー7
@ _1
ビュー1
@ RESERVE_2
予備(未使用)
@ OETF
OETF変換用
@ RESERVE_4
開発用ビュー(Master時)
@ _0
ビュー0
@ _4
ビュー4
@ INVALID
無効なビュー
@ RESERVE_1
予備(未使用)
@ HUD
HUD用
@ RESERVE_3
予備(未使用)
@ _6
ビュー6
@ _3D_MAX
汎用的な3Dビューの最大
@ RESERVE_0
予備(未使用)
@ _3
ビュー3
@ _5
ビュー5
RENDER_BLEND_FACTOR
ブレンドステート(ブレンド係数)
Definition GxRender.h:830
@ SRC_COLOR
(Rsrc ,Gsrc ,Bsrc ,Asrc )
@ DST_COLOR
(Rdst ,Gdst ,Bdst ,Adst )
@ INVERSE_DST_COLOR
(1-Rdst,1-Gdst,1-Bdst,1-Adst)
@ DST_ALPHA
(Adst ,Adst ,Adst ,Adst )
@ INVERSE_SRC_ALPHA
(1-Asrc,1-Asrc,1-Asrc,1-Asrc)
@ SRC_ALPHA
(Asrc ,Asrc ,Asrc ,Asrc )
@ INVERSE_SRC_COLOR
(1-Rsrc,1-Gsrc,1-Bsrc,1-Asrc)
@ ONE
(1 ,1 ,1 ,1 )
@ INVERSE_DST_ALPHA
(1-Adst,1-Adst,1-Adst,1-Adst)
RENDER_ANTI_ALIASING
アンチエイリアシング
Definition GxRender.h:382
@ SSAAx4
4xスーパーサンプリングアンチエイリアシング
@ MSAAx4
4xマルチサンプリングアンチエイリアシング
@ MSAAx2
2xマルチサンプリングアンチエイリアシング
@ SSAAx2
2xスーパーサンプリングアンチエイリアシング
RENDER_FILL_MODE
描画ステート(塗りつぶしモード)
Definition GxRender.h:919
@ LINE
線で描画する
@ POINT
点で描画する
@ FILL
面で描画する
RENDER_SEMANTICS
セマンティックス
Definition GxRender.h:234
@ VPOS
現在のピクセル位置(PS入力専用)
@ TEXCOORD0
テクスチャ座標0(VS入力,VS→PS)
@ VERTEX_INPUT_MAX
VS入力の最大
@ NORMAL
法線(VS入力,VS→PS)
@ BINORMAL
従法線(VS入力専用)
@ TEXCOORD1
テクスチャ座標1(VS入力,VS→PS)
@ COLOR2
色2(PS出力専用)
@ TANGENT
接線(VS入力専用)
@ TEXCOORD2
テクスチャ座標2(VS入力,VS→PS)
@ BLENDWEIGHT
ブレンディングの重みデータ(VS入力専用)
@ BLENDINDICES
ブレンディング用のインデックス(VS入力専用)
@ TEXCOORD9
テクスチャ座標9(VS→PS専用)
@ TEXCOORD6
テクスチャ座標6(VS→PS専用)
@ FOG
フォグ(VS→PS,PS出力)
@ VFACE
ポリゴンの向き。裏向きは負の数、それ以外は正の数(PS入力専用)
@ TEXCOORD4
テクスチャ座標4(VS入力,VS→PS)
@ POSITION
位置データ(VS入力,VS出力)
@ TEXCOORD3
テクスチャ座標3(VS入力,VS→PS)
@ TEXCOORD8
テクスチャ座標8(VS→PS専用)
@ DEPTH
奥行き(PS出力専用)
@ TEXCOORD5
テクスチャ座標5(VS入力,VS→PS)
@ PSIZE
ポイントサイズ(VS入力,VS→PS)
@ TEXCOORD7
テクスチャ座標7(VS→PS専用)
@ SPRITETEXCOORD
ポイントスプライトのテクスチャ座標(PS入力専用、Xboxのみ有効)
@ COLOR3
色3(PS出力専用)
RENDER_COLOR_WRITE_ENABLE
描画ステート(カラー書き込みマスク)
Definition GxRender.h:945
@ RENDER_COLOR_WRITE_ENABLE_ALPHA
アルファを描画する
Definition GxRender.h:949
@ RENDER_COLOR_WRITE_ENABLE_GREEN
緑を描画する
Definition GxRender.h:947
@ RENDER_COLOR_WRITE_ENABLE_RED
赤を描画する
Definition GxRender.h:946
@ RENDER_COLOR_WRITE_ENABLE_BLUE
青を描画する
Definition GxRender.h:948
@ RENDER_COLOR_WRITE_ENABLE_COLOR_ONLY
カラーのみ
Definition GxRender.h:950
@ RENDER_COLOR_WRITE_ENABLE_ALL
すべて描画する
Definition GxRender.h:951
RENDER_QUERY_TYPE
クエリタイプ
Definition GxRender.h:1228
@ TIMESTAMP
タイムスタンプ
@ OCCULUSION
オクルージョン
RENDER_CLEAR_FLAG
クリアフラグ
Definition GxRender.h:1192
@ RENDER_CLEAR_FLAG_TARGET_2
ターゲット2
Definition GxRender.h:1195
@ RENDER_CLEAR_FLAG_STENCIL
ステンシル
Definition GxRender.h:1206
@ RENDER_CLEAR_FLAG_TARGET_0
ターゲット0
Definition GxRender.h:1193
@ RENDER_CLEAR_FLAG_DEPTH
デプス
Definition GxRender.h:1205
@ RENDER_CLEAR_FLAG_TARGET
レンダーターゲット
Definition GxRender.h:1208
@ RENDER_CLEAR_FLAG_DEPTH_STENCIL
デプス/ステンシル
Definition GxRender.h:1219
@ RENDER_CLEAR_FLAG_TARGET_1
ターゲット1
Definition GxRender.h:1194
@ RENDER_CLEAR_FLAG_ALL
すべて
Definition GxRender.h:1221
@ RENDER_CLEAR_FLAG_TARGET_3
ターゲット3
Definition GxRender.h:1196
RENDER_FACE_CULLING_MODE
描画ステート(フェースカリングモード)
Definition GxRender.h:929
@ BACK
裏をカリングする(右手系)
@ FRONT
表をカリングする(右手系)
RENDER_SAMPLER_BORDER_COLOR
サンプラステート(ボーダーカラー)
Definition GxRender.h:977
RENDER_VERTEX_ELEMENT_TYPE
頂点属性
Definition GxRender.h:199
@ COLOR
4D パック済み 正規化される u8(GxColor形式)
@ HALF4
4D f16 (v, v, v, v) に展開される
@ SHORT4
4D s16 (v, v, v, v) に展開される
@ FLOAT3
3D f32 (f, f, f, 1) に展開される
@ UBYTE
符号なしバイト
@ SHORT2
2D s16 (v, v, 0, 1) に展開される
@ SHORTN
正規化される s16
@ FLOAT1
1D f32 (f, 0, 0, 1) に展開される
@ FLOAT16_4
4D f16 (v, v, v, v) に展開される (廃止予定、RENDER_VERTEX_ELEMENT_TYPE_HALF4 を使用してください)
@ UBYTE4
4D パック済み u8
@ UBYTEN
正規化される u8
@ HALF2
2D f16 (v, v, 0, 1) に展開される
@ FLOAT16_2
2D f16 (v, v, 0, 1) に展開される (廃止予定、RENDER_VERTEX_ELEMENT_TYPE_HALF2 を使用してください)
@ FLOAT2
2D f32 (f, f, 0, 1) に展開される
@ UBYTE4N
4D パック済み 正規化される u8
@ FLOAT4
4D f32 (f, f, f, f) に展開される
RENDER_ATTRIBUTE
バッファの属性
Definition GxRender.h:158
@ RENDER_ATTRIBUTE_SURFACE_ONLY
サーフェースのみ(テクスチャ未作成)
Definition GxRender.h:167
@ RENDER_ATTRIBUTE_USE_MAIN_MEMORY
メインメモリで待機させる
Definition GxRender.h:162
@ RENDER_ATTRIBUTE_DYNAMIC
動的操作
Definition GxRender.h:159
@ RENDER_ATTRIBUTE_SWIZZLE
スウィズル形式(テクスチャ)
Definition GxRender.h:163
@ RENDER_ATTRIBUTE_RENDER_DISABLE
描画無効
Definition GxRender.h:168
@ RENDER_ATTRIBUTE_NO_MAP_BUFFER
map 用の中間バッファを使用しない(DX11頂点バッファ,インデックスバッファ)
Definition GxRender.h:179
@ RENDER_ATTRIBUTE_NO_FMASK
Fmask無効化(PS4のみ有効)
Definition GxRender.h:177
@ RENDER_ATTRIBUTE_DEPTH_STENCIL
深度ステンシル(テクスチャ)
Definition GxRender.h:165
@ RENDER_ATTRIBUTE_USER_MANAGED
ユーザー管理下
Definition GxRender.h:166
@ RENDER_ATTRIBUTE_USE_HTILE
Htile有効化(PS4のみ有効)
Definition GxRender.h:178
@ RENDER_ATTRIBUTE_MANAGED
システム管理下(Windowsのみ有効)
Definition GxRender.h:161
@ RENDER_ATTRIBUTE_NO_CMASK
Cmask無効化(PS4のみ有効)
Definition GxRender.h:176
@ RENDER_ATTRIBUTE_DYNAMIC_GPU
GPUで動的操作(UAV)
Definition GxRender.h:169
@ RENDER_ATTRIBUTE_WRITEONLY
書き込み専用(頂点バッファ,インデックスバッファ)
Definition GxRender.h:160
@ RENDER_ATTRIBUTE_WRITEONCE
一度だけ書き込み可(DX11のみ有効)
Definition GxRender.h:170
@ RENDER_ATTRIBUTE_RENDER_TARGET
レンダーターゲット(テクスチャ)
Definition GxRender.h:164
RENDER_COMPARISON_FUNCTION
描画ステート(比較関数)
Definition GxRender.h:572
@ LESS
新しい物が、より小さい時成功
@ NOT_EQUAL
新しい物が、等しくない時成功
@ GREATER_EQUAL
新しい物が、等しいかより大きい時成功
@ LESS_EQUAL
新しい物が、等しいかより小さい時成功
@ EQUAL
新しい物が、等しい時成功
@ GREATER
新しい物が、より大きい時成功
RENDER_FORMAT
フォーマット
Definition GxRender.h:269
@ R11G11B10F
R11G11B10.
@ R8G8B8A8
R8G8B8A8(B8G8R8A8でもこれを使う。RGBAの並びは抽象化されているので無視してもいい。)
@ BC7_SRGB
BC7 SRGB.
@ DXT5_SRGB
DXT5 SRGB.
@ TYPE_DXT
DXT (b1101 0000)
@ TYPE_INTEGER
整数 (b0001 0000)
@ R8G8B8A8_SRGB
R8G8B8A8 SRGB.
@ R32G32B32A32F
R32G32B32A32F.
@ UNKNOWN
未定義
@ PVRTCII4
PVRTC II 4Bpp
@ PVRTC4
PVRTC 4Bpp.
@ R8X8X8A8
R8X8X8A8(R8X8X8A8でもこれを使う。RGBAの並びは抽象化されているので無視してもいい。)
@ PVRTCII2
PVRTC II 2Bpp.
@ R16G16F
R16G16F.
@ PVRTC2
PVRTC 2Bpp.
@ TYPE_FLOAT
浮動小数点 (b1000 0000)
@ R8G8B8X8
R8G8B8X8(B8G8R8X8でもこれを使う。RGBAの並びは抽象化されているので無視してもいい。)
@ R16G16B16A16F
R16G16B16A16F.
@ DXT3_SRGB
DXT3 SRGB.
@ DXT1_SRGB
DXT1 SRGB.
@ TYPE_MASK
タイプマスク (b1111 0000)
@ TYPE_PVRTC
PVRTC (b1011 0000)
@ TYPE_DEPTH_STENCIL
Depth Stencil (b1110 0000)
RENDER_BLEND_OPERATION
ブレンドステート(ブレンド処理)
Definition GxRender.h:818
@ SUBTRACT
減算(src-dst)
@ REVERSE_SUBTRACT
減算(dst-src)
@ ADD
加算(src+dst)
@ MIN
最小値(min(src,dst))
RENDER_SAMPLER_ADDRESS_MODE
サンプラステート(アドレッシングモード)
Definition GxRender.h:958
RENDER_STENCIL_OPERATION
ステンシルテストステート(ステンシル処理)
Definition GxRender.h:716
@ INCREMENT_CLAMP
インクリメント、最大値でクランプする
@ REPLACE
置き換える
@ KEEP
変更しない
@ DECREMENT_WRAP
デクリメント、0でラップラウンドする
@ DECREMENT_CLAMP
デクリメント、0でクランプする
@ INVERT
ビット反転する
@ INCREMENT_WRAP
インクリメント、最大値でラップラウンドする
RENDER_INDEX_TYPE
インデックスバッファ形式
Definition GxRender.h:147
@ _32
32ビットインデックス
@ UNKNOWN
未定義
@ _16
16ビットインデックス
RENDER_STATE
描画ステート
Definition GxRender.h:550
@ SCISSOR_TEST_ENABLE
シザーテスト有効/無効
@ FACE_CULLING_MODE
バックカリングモード
@ POINT_SPRITE_ENABLE
ポイントスプライト有効/無効
@ COLOR_WRITE_MASK
カラー書き込みマスク
@ DEPTH_BIAS_CLAMP
デブスバイアスクランプ(float指定)
@ LAST_PIXEL_FILL
ラインの最後のピクセルを塗りつぶすか
@ DEPTH_BIAS
デブスパイアス(int指定)
@ FILL_MODE
塗りつぶしモード
@ MULTISAMPLE_ANTIALIAS
MSAA有効/無効
@ SLOPE_SCALED_DEPTH_BIAS
デブスパイアススケール(float指定)
@ ALPHA_TO_COVERAGE_ENABLE
アルファトゥカバレッジ有効/無効
RENDER_PRIMITIVE_TYPE
プリミティブ形式
Definition GxRender.h:131
@ TRIANGLE_LIST
トライアングルリスト
@ LINE_LIST
ラインリスト
@ TRIANGLE_STRIP
トライアングルストリップ
@ POINT_LIST
ポイントリスト
@ LINE_STRIP
ラインストリップ
RENDER_FRAME_RATE
フレームレート
Definition GxRender.h:97
@ AUTOMATIC
ディスプレイ依存
@ FORCE_IMMEDIATE
無制限
RENDER_SHADER
Definition GxRender.h:75
@ PIXEL
ピクセルシェーダー
@ VERTEX
頂点シェーダー
@ MAX
定義数
@ DRAW_MAX
描画用の定義数
RENDER_PASS
描画優先度(パス)
Definition GxRender.h:515
@ OVERPAINT_PRE
重ね描きパス1
@ OVERPAINT
重ね描きパス2
@ MULTI_SAMPLE_PRE_Z
マルチサンプルZプリパス
@ MULTI_SAMPLE_Z
マルチサンプルパス
@ OPACITY
不透明パス
@ EFFECT_AFTER_HUD
HUDの上から描くエフェクトパス
@ TOOL
ツール
@ PROCEDURAL
プロシージャルパス
@ ENCODE
色調整パス(エンコード)
@ EFFECT
エフェクトパス
@ SHADOW
0番目はシャドウパスで暗黙的に使われている
@ LIGHTING
ライティングパス
@ MULTI_SAMPLE
マルチサンプルパス
@ REDUCTION
高速半透明パス(縮小バッファ)
@ EFFECT_AFTER_FILTER
フィルタの上から描くエフェクトパス
@ OVERPAINT_OFFSCREEN_PRE_Z
オーバーペイント用Zプリパス
@ SEMI_TRANSPARENCE
半透明パス
@ OCCLUSION_QUERY
オクルージョンクエリパス
@ FILTER
フィルタ
@ PRE_Z
Zプリパス
RENDER_TEXTURE_TYPE
テクスチャ形式
Definition GxRender.h:405
@ DEPTHSTENCIL
深度、ステンシル
@ CUBE
キューブ
RENDER
描画スペック
Definition GxRender.h:19
@ RENDER_MARKER_NEST_COUNT
マーカーのネストできる数
Definition GxRender.h:43
@ RENDER_VERTEX_INDEX_MAX_16
最大の頂点インデックス(16bitバッファ)
Definition GxRender.h:47
@ RENDER_FRAME_SKIP_COUNT_MAX
最大フレームスキップ数
Definition GxRender.h:48
@ RENDER_INSTANCE_COUNT
最大インスタンス数
Definition GxRender.h:44
@ RENDER_TEXTURE_COUNT_MAX
同時読み込み可能なテクスチャ数(0は無効を表すので、実際は4095枚)
Definition GxRender.h:40
@ RENDER_QUERY_COUNT_MAX
オクルージョンクエリの最大数
Definition GxRender.h:41
@ RENDER_TEXTURE_SAMPLER_COUNT_MAX
サポートするテクスチャサンプラ数
Definition GxRender.h:37
@ RENDER_TEXTURE_SAMPLER_UAV_COUNT_MAX
サポートするUAVテクスチャサンプラ数
Definition GxRender.h:39
@ RENDER_VERTEX_INDEX_MAX_32
最大の頂点インデックス(32bitバッファ)
Definition GxRender.h:46
@ RENDER_VERTEX_ELEMENT_COUNT
同時サポートする頂点要素数
Definition GxRender.h:45
@ RENDER_SHADER_CONST_MAX
サポートするシェーダレジスタ数
Definition GxRender.h:29
@ RENDER_MARKER_NAME_LENGTH
マーカー名の文字列長
Definition GxRender.h:42
@ RENDER_VERTEX_SHADER_MODEL
サポートする頂点シェーダモデル
Definition GxRender.h:27
@ RENDER_TARGET_COUNT_MAX
サポートするレンダーターゲット数
Definition GxRender.h:24
@ RENDER_VERTEX_STREAM_COUNT_MAX
サポートする頂点ストリーム数
Definition GxRender.h:26
@ RENDER_PIXEL_SHADER_MODEL
サポートするピクセルシェーダモデル
Definition GxRender.h:28
@ RENDER_BUFFER_COUNT_MAX
トリプルバッファリング
Definition GxRender.h:20
RENDER_CUBEMAP_FACE
キューブマップ面の並び
Definition GxRender.h:428
RENDER_MAPPING
メモリマッピング
Definition GxRender.h:186
@ RENDER_MAPPING_NO_OVERWRITE
描画領域の上書きをしない
Definition GxRender.h:189
@ RENDER_MAPPING_WRITEONLY
書き込み専用(Windowsのみ有効)
Definition GxRender.h:191
@ RENDER_MAPPING_READONLY
読み込み専用
Definition GxRender.h:190
@ RENDER_MAPPING_NO_WAIT
描画中でも待たない、描画中の場合マッピングに失敗する(Windowsのみ有効)
Definition GxRender.h:187
RENDER_SAMPLER_COMPARISON
サンプラステート(Comparisonフィルタ、現在の所DX11のみ)
Definition GxRender.h:1037
RENDER_SUB_VIEW
描画優先度(サブビュー)
Definition GxRender.h:485
@ SHADOW_1
シャドウマップ用
@ SHADOW_0
シャドウマップ用
@ POINT_SHADOW_1
ポイントライトシャドウ用
@ CUBE_MAP_0
キューブマップ用
@ CUBE_MAP_3
キューブマップ用
@ CUBE_MAP_5
キューブマップ用
@ RESERVE_7
予備(未使用)
@ CUBE_MAP_1
キューブマップ用
@ SHADOW_3
シャドウマップ用
@ MOTIONBLUR
モーションブラー
@ POST
ポスト処理
@ CUBE_MAP_2
キューブマップ用
@ SHADOW_2
シャドウマップ用
@ CUBE_MAP_4
キューブマップ用
@ POINT_SHADOW_0
ポイントライトシャドウ用
RENDER_STREAM_FREQUENCY_TYPE
頂点頻度タイプ
Definition GxRender.h:225
@ INSTANCE
インスタンス別データ
RENDER_SAMPLER_ANISOTROPY_MAX
サンプラステート(異方性フィルタ)
Definition GxRender.h:1010
static constexpr u32 VALUE_32
32
Definition GxMath.h:124
static constexpr u32 VALUE_4
4
Definition GxMath.h:121
static constexpr u32 VALUE_16
16
Definition GxMath.h:123
static constexpr u32 VALUE_4K
4K
Definition GxMath.h:131
static constexpr u32 VALUE_8
8
Definition GxMath.h:122
プロパティクラス
Definition GxProperty.h:48
実行時型情報クラス
Definition GxRtti.h:154
アルファテストステート
Definition GxRender.h:731
u32 _reference
基準値
Definition GxRender.h:803
GX_FORCE_INLINE void setPropertyEnable(const void *const pValue)
有効か設定
Definition GxRender.h:776
GX_FORCE_INLINE void setPropertyReference(const void *const pValue)
参照を設定
Definition GxRender.h:784
RENDER_COMPARISON_FUNCTION _function
テスト関数
Definition GxRender.h:804
static const GxRenderAlphaTestState DISABLE
無効
Definition GxRender.h:741
GX_FORCE_INLINE void getPropertyReference(void *const pValue)
参照を取得
Definition GxRender.h:782
u32 _access32
データ
Definition GxRender.h:808
GX_FORCE_INLINE void setPropertyFunction(const void *const pValue)
関数を設定
Definition GxRender.h:780
GX_FORCE_INLINE void getPropertyEnable(void *const pValue)
有効か取得
Definition GxRender.h:774
static const GxRenderAlphaTestState BASIC
基本形
Definition GxRender.h:743
GX_FORCE_INLINE void getPropertyFunction(void *const pValue)
関数を取得
Definition GxRender.h:778
u32 _reserve
予備
Definition GxRender.h:802
GxRenderAlphaTestState(void)
デフォルトコンストラクタ
Definition GxRender.h:752
u32 _enable
有効/無効
Definition GxRender.h:805
ブレンドステート
Definition GxRender.h:847
static const GxRenderBlendState DISABLE
無効
Definition GxRender.h:854
static const GxRenderBlendState ADD
加算
Definition GxRender.h:858
static const GxRenderBlendState COLORADD
カラー加算
Definition GxRender.h:860
static const GxRenderBlendState COLORSUB
カラー減算
Definition GxRender.h:864
RENDER_BLEND_FACTOR _colorFactorSrc
ブレンド係数
Definition GxRender.h:904
u32 _reserve
予備
Definition GxRender.h:899
static const GxRenderBlendState MUL
乗算
Definition GxRender.h:866
RENDER_BLEND_FACTOR _alphaFactorSrc
ブレンド係数
Definition GxRender.h:901
RENDER_BLEND_FACTOR _colorFactorDst
ブレンド係数
Definition GxRender.h:903
RENDER_BLEND_OPERATION _colorOperation
ブレンド処理
Definition GxRender.h:905
static const GxRenderBlendState BASIC
基本形
Definition GxRender.h:856
RENDER_BLEND_FACTOR _alphaFactorDst
ブレンド係数
Definition GxRender.h:900
static const GxRenderBlendState SUB
減算
Definition GxRender.h:862
u32 _enable
有効/無効
Definition GxRender.h:906
RENDER_BLEND_OPERATION _alphaOperation
ブレンド処理
Definition GxRender.h:902
GxRenderBlendState(void)
デフォルトコンストラクタ
Definition GxRender.h:875
u32 _access32
データ
Definition GxRender.h:909
深度テストステート
Definition GxRender.h:601
RENDER_COMPARISON_FUNCTION _function
テスト関数
Definition GxRender.h:640
static const GxRenderDepthTestState DISABLE
無効
Definition GxRender.h:607
static const GxRenderDepthTestState BASIC
基本形
Definition GxRender.h:608
GxRenderDepthTestState(void)
デフォルトコンストラクタ
Definition GxRender.h:618
u32 _access32
データ
Definition GxRender.h:644
static const GxRenderDepthTestState TESTONLY
テストのみ
Definition GxRender.h:609
u32 _writeEnable
書き込み有効/無効
Definition GxRender.h:639
u32 _reserve
予備
Definition GxRender.h:638
u32 _enable
有効/無効
Definition GxRender.h:641
サンプラステート
Definition GxRender.h:1046
GX_FORCE_INLINE void getPropertyMipmapLevelMax(void *const pValue)
ミップマップ最大レベルを取得
Definition GxRender.h:1132
GX_FORCE_INLINE void setPropertyComparison(const void *const pValue)
Comparisonを設定
Definition GxRender.h:1142
GX_FORCE_INLINE void getPropertyMagFilter(void *const pValue)
Magフィルターを取得
Definition GxRender.h:1116
GX_FORCE_INLINE void getPropertyAddressV(void *const pValue)
Vアドレスを取得
Definition GxRender.h:1104
GX_FORCE_INLINE void getPropertyAddressU(void *const pValue)
Uアドレスを取得
Definition GxRender.h:1100
GX_FORCE_INLINE void setPropertyAddressV(const void *const pValue)
Vアドレスを設定
Definition GxRender.h:1106
GX_FORCE_INLINE void getPropertyBorderColor(void *const pValue)
境界色を取得
Definition GxRender.h:1112
GX_FORCE_INLINE void setPropertyAddressW(const void *const pValue)
Wアドレスを設定
Definition GxRender.h:1110
GX_FORCE_INLINE void getPropertyMipmapFilter(void *const pValue)
ミップマップフィルターを取得
Definition GxRender.h:1124
GX_FORCE_INLINE void getPropertyAnisotropyMax(void *const pValue)
最大Anisotropyを取得
Definition GxRender.h:1136
s32 _mipmapLodBias
ミップマップのLODバイアス(整数5bit,小数5bit)
Definition GxRender.h:1172
u32 _mipmapLevelMax
使用するミップマップの最大インデックス(最大-最小(0-(n-1)))
Definition GxRender.h:1171
GX_FORCE_INLINE void getPropertyAddressW(void *const pValue)
Wアドレスを取得
Definition GxRender.h:1108
RENDER_SAMPLER_ANISOTROPY_MAX _anisotropyMax
異方性フィルタの最大
Definition GxRender.h:1170
RENDER_SAMPLER_ADDRESS_MODE _addressW
W座標のアドレッシングモード
Definition GxRender.h:1177
GX_FORCE_INLINE void setPropertyMinFilter(const void *const pValue)
Minフィルターを設定
Definition GxRender.h:1122
GX_FORCE_INLINE void setPropertyAddressU(const void *const pValue)
Uアドレスを設定
Definition GxRender.h:1102
RENDER_SAMPLER_FILTER _minFilter
縮小フィルタ
Definition GxRender.h:1174
RENDER_SAMPLER_COMPARISON _comparison
ComparisonState.
Definition GxRender.h:1169
RENDER_SAMPLER_FILTER _mipmapFilter
ミップマップフィルタ
Definition GxRender.h:1173
GX_FORCE_INLINE void getPropertyComparison(void *const pValue)
Comparisonを取得
Definition GxRender.h:1140
GX_FORCE_INLINE void setPropertyBorderColor(const void *const pValue)
境界色を設定
Definition GxRender.h:1114
GX_FORCE_INLINE void setPropertyMipmapFilter(const void *const pValue)
ミップマップフィルターを設定
Definition GxRender.h:1126
RENDER_SAMPLER_FILTER _magFilter
拡大フィルタ
Definition GxRender.h:1175
RENDER_SAMPLER_ADDRESS_MODE _addressV
V座標のアドレッシングモード
Definition GxRender.h:1178
GX_FORCE_INLINE void setPropertyMipmapLevelMax(const void *const pValue)
ミップマップ最大レベルを設定
Definition GxRender.h:1134
GX_FORCE_INLINE void getPropertyMinFilter(void *const pValue)
Minフィルターを取得
Definition GxRender.h:1120
GX_FORCE_INLINE void getPropertyMipmapLodBias(void *const pValue)
ミップマップLODバイアスを取得
Definition GxRender.h:1128
u32 _access32
データ
Definition GxRender.h:1182
GxRenderSamplerState(void)
デフォルトコンストラクタ
Definition GxRender.h:1077
RENDER_SAMPLER_BORDER_COLOR _borderColor
ボーダーカラー
Definition GxRender.h:1176
static const GxRenderSamplerState DEFAULT
デフォルト値
Definition GxRender.h:1056
RENDER_SAMPLER_ADDRESS_MODE _addressU
U座標のアドレッシングモード
Definition GxRender.h:1179
GX_FORCE_INLINE void setPropertyMipmapLodBias(const void *const pValue)
ミップマップLODバイアスを設定
Definition GxRender.h:1130
GX_FORCE_INLINE void setPropertyAnisotropyMax(const void *const pValue)
最大Anisotropyを設定
Definition GxRender.h:1138
u32 _reserve
予備
Definition GxRender.h:1168
GX_FORCE_INLINE void setPropertyMagFilter(const void *const pValue)
Magフィルターを設定
Definition GxRender.h:1118
ステンシルテストステート
Definition GxRender.h:654
u32 _operationZFail
ステンシルテスト成功、Zテスト失敗
Definition GxRender.h:697
u32 _readMask
読み込みマスク
Definition GxRender.h:700
u32 _function
テスト関数
Definition GxRender.h:702
u64 _access64
データ
Definition GxRender.h:706
u32 _enable
有効/無効
Definition GxRender.h:703
GxRenderStencilTestState(void)
デフォルトコンストラクタ
Definition GxRender.h:670
u32 _reserve
予備
Definition GxRender.h:695
u32 _operationFail
ステンシルテスト失敗
Definition GxRender.h:698
u32 _writeMask
書き込みマスク
Definition GxRender.h:699
u32 _operationPass
ステンシルテスト成功、Zテスト成功
Definition GxRender.h:696
static const GxRenderStencilTestState DISABLE
無効
Definition GxRender.h:661
u32 _reference
基準値
Definition GxRender.h:701
テクスチャとサンプラのインデックス
Definition GxRender.h:1237
u8 _isUav
UAVフラグ
Definition GxRender.h:1240
u8 _samplerIndex
サンプラーインデックス
Definition GxRender.h:1239
u8 _padding
パディング
Definition GxRender.h:1241
u8 _textureIndex
テクスチャインデックス
Definition GxRender.h:1238
Definition GxBase.h:24
32bitブーリアン
Definition GxDefine.h:173