|
1 | 1 | import sys
|
2 | 2 | import os
|
3 | 3 | from math import modf
|
| 4 | +from enum import IntEnum |
4 | 5 | from typing import Tuple, Union, Sequence, AnyStr
|
5 | 6 | from ctypes import (
|
6 | 7 | c_bool,
|
@@ -2024,97 +2025,185 @@ class VrDeviceInfo(Structure):
|
2024 | 2025 | # Enumerators Definition
|
2025 | 2026 | # ---------------------------------------------------------------------------------
|
2026 | 2027 | # Trace log type
|
2027 |
| -LOG_INFO = 1 |
2028 |
| -LOG_WARNING = 2 |
2029 |
| -LOG_ERROR = 4 |
2030 |
| -LOG_DEBUG = 8 |
2031 |
| -LOG_OTHER = 16 |
| 2028 | +class LogType(IntEnum): |
| 2029 | + LOG_INFO = 1 |
| 2030 | + LOG_WARNING = 2 |
| 2031 | + LOG_ERROR = 4 |
| 2032 | + LOG_DEBUG = 8 |
| 2033 | + LOG_OTHER = 16 |
| 2034 | + |
| 2035 | +LOG_INFO = LogType.LOG_INFO |
| 2036 | +LOG_WARNING = LogType.LOG_WARNING |
| 2037 | +LOG_ERROR = LogType.LOG_ERROR |
| 2038 | +LOG_DEBUG = LogType.LOG_DEBUG |
| 2039 | +LOG_OTHER = LogType.LOG_OTHER |
2032 | 2040 |
|
2033 | 2041 | # Shader location point type
|
2034 |
| -LOC_VERTEX_POSITION = 1 |
2035 |
| -LOC_VERTEX_TEXCOORD01 = 2 |
2036 |
| -LOC_VERTEX_TEXCOORD02 = 3 |
2037 |
| -LOC_VERTEX_NORMAL = 4 |
2038 |
| -LOC_VERTEX_TANGENT = 5 |
2039 |
| -LOC_VERTEX_COLOR = 6 |
2040 |
| -LOC_MATRIX_MVP = 7 |
2041 |
| -LOC_MATRIX_MODEL = 8 |
2042 |
| -LOC_MATRIX_VIEW = 9 |
2043 |
| -LOC_MATRIX_PROJECTION = 10 |
2044 |
| -LOC_VECTOR_VIEW = 11 |
2045 |
| -LOC_COLOR_DIFFUSE = 12 |
2046 |
| -LOC_COLOR_SPECULAR = 13 |
2047 |
| -LOC_COLOR_AMBIENT = 14 |
2048 |
| -LOC_MAP_ALBEDO = 15 |
2049 |
| -LOC_MAP_METALNESS = 16 |
2050 |
| -LOC_MAP_NORMAL = 17 |
2051 |
| -LOC_MAP_ROUGHNESS = 18 |
2052 |
| -LOC_MAP_OCCLUSION = 19 |
2053 |
| -LOC_MAP_EMISSION = 20 |
2054 |
| -LOC_MAP_HEIGHT = 21 |
2055 |
| -LOC_MAP_CUBEMAP = 22 |
2056 |
| -LOC_MAP_IRRADIANCE = 23 |
2057 |
| -LOC_MAP_PREFILTER = 24 |
2058 |
| -LOC_MAP_BRDF = 25 |
2059 |
| -LOC_MAP_DIFFUSE = LOC_MAP_ALBEDO |
2060 |
| -LOC_MAP_SPECULAR = LOC_MAP_METALNESS |
| 2042 | +class ShaderLocationIndex(IntEnum): |
| 2043 | + LOC_VERTEX_POSITION = 1 |
| 2044 | + LOC_VERTEX_TEXCOORD01 = 2 |
| 2045 | + LOC_VERTEX_TEXCOORD02 = 3 |
| 2046 | + LOC_VERTEX_NORMAL = 4 |
| 2047 | + LOC_VERTEX_TANGENT = 5 |
| 2048 | + LOC_VERTEX_COLOR = 6 |
| 2049 | + LOC_MATRIX_MVP = 7 |
| 2050 | + LOC_MATRIX_MODEL = 8 |
| 2051 | + LOC_MATRIX_VIEW = 9 |
| 2052 | + LOC_MATRIX_PROJECTION = 10 |
| 2053 | + LOC_VECTOR_VIEW = 11 |
| 2054 | + LOC_COLOR_DIFFUSE = 12 |
| 2055 | + LOC_COLOR_SPECULAR = 13 |
| 2056 | + LOC_COLOR_AMBIENT = 14 |
| 2057 | + LOC_MAP_ALBEDO = 15 |
| 2058 | + LOC_MAP_METALNESS = 16 |
| 2059 | + LOC_MAP_NORMAL = 17 |
| 2060 | + LOC_MAP_ROUGHNESS = 18 |
| 2061 | + LOC_MAP_OCCLUSION = 19 |
| 2062 | + LOC_MAP_EMISSION = 20 |
| 2063 | + LOC_MAP_HEIGHT = 21 |
| 2064 | + LOC_MAP_CUBEMAP = 22 |
| 2065 | + LOC_MAP_IRRADIANCE = 23 |
| 2066 | + LOC_MAP_PREFILTER = 24 |
| 2067 | + LOC_MAP_BRDF = 25 |
| 2068 | + |
| 2069 | +LOC_VERTEX_POSITION = ShaderLocationIndex.LOC_VERTEX_POSITION |
| 2070 | +LOC_VERTEX_TEXCOORD01 = ShaderLocationIndex.LOC_VERTEX_TEXCOORD01 |
| 2071 | +LOC_VERTEX_TEXCOORD02 = ShaderLocationIndex.LOC_VERTEX_TEXCOORD02 |
| 2072 | +LOC_VERTEX_NORMAL = ShaderLocationIndex.LOC_VERTEX_NORMAL |
| 2073 | +LOC_VERTEX_TANGENT = ShaderLocationIndex.LOC_VERTEX_TANGENT |
| 2074 | +LOC_VERTEX_COLOR = ShaderLocationIndex.LOC_VERTEX_COLOR |
| 2075 | +LOC_MATRIX_MVP = ShaderLocationIndex.LOC_MATRIX_MVP |
| 2076 | +LOC_MATRIX_MODEL = ShaderLocationIndex.LOC_MATRIX_MODEL |
| 2077 | +LOC_MATRIX_VIEW = ShaderLocationIndex.LOC_MATRIX_VIEW |
| 2078 | +LOC_MATRIX_PROJECTION = ShaderLocationIndex.LOC_MATRIX_PROJECTION |
| 2079 | +LOC_VECTOR_VIEW = ShaderLocationIndex.LOC_VECTOR_VIEW |
| 2080 | +LOC_COLOR_DIFFUSE = ShaderLocationIndex.LOC_COLOR_DIFFUSE |
| 2081 | +LOC_COLOR_SPECULAR = ShaderLocationIndex.LOC_COLOR_SPECULAR |
| 2082 | +LOC_COLOR_AMBIENT = ShaderLocationIndex.LOC_COLOR_AMBIENT |
| 2083 | +LOC_MAP_ALBEDO = ShaderLocationIndex.LOC_MAP_ALBEDO |
| 2084 | +LOC_MAP_METALNESS = ShaderLocationIndex.LOC_MAP_METALNESS |
| 2085 | +LOC_MAP_NORMAL = ShaderLocationIndex.LOC_MAP_NORMAL |
| 2086 | +LOC_MAP_ROUGHNESS = ShaderLocationIndex.LOC_MAP_ROUGHNESS |
| 2087 | +LOC_MAP_OCCLUSION = ShaderLocationIndex.LOC_MAP_OCCLUSION |
| 2088 | +LOC_MAP_EMISSION = ShaderLocationIndex.LOC_MAP_EMISSION |
| 2089 | +LOC_MAP_HEIGHT = ShaderLocationIndex.LOC_MAP_HEIGHT |
| 2090 | +LOC_MAP_CUBEMAP = ShaderLocationIndex.LOC_MAP_CUBEMAP |
| 2091 | +LOC_MAP_IRRADIANCE = ShaderLocationIndex.LOC_MAP_IRRADIANCE |
| 2092 | +LOC_MAP_PREFILTER = ShaderLocationIndex.LOC_MAP_PREFILTER |
| 2093 | +LOC_MAP_BRDF = ShaderLocationIndex.LOC_MAP_BRDF |
| 2094 | +LOC_MAP_DIFFUSE = ShaderLocationIndex.LOC_MAP_ALBEDO |
| 2095 | +LOC_MAP_SPECULAR = ShaderLocationIndex.LOC_MAP_METALNESS |
2061 | 2096 |
|
2062 |
| -# Material map type |
2063 |
| -MAP_ALBEDO = 0 |
2064 |
| -MAP_METALNESS = 1 |
2065 |
| -MAP_NORMAL = 2 |
2066 |
| -MAP_ROUGHNESS = 3 |
2067 |
| -MAP_OCCLUSION = 4 |
2068 |
| -MAP_EMISSION = 5 |
2069 |
| -MAP_HEIGHT = 6 |
2070 |
| -MAP_CUBEMAP = 7 |
2071 |
| -MAP_IRRADIANCE = 8 |
2072 |
| -MAP_PREFILTER = 9 |
2073 |
| -MAP_BRDF = 10 |
2074 |
| -MAP_DIFFUSE = MAP_ALBEDO |
2075 |
| -MAP_SPECULAR = MAP_METALNESS |
2076 |
| - |
2077 |
| - |
2078 |
| -UNCOMPRESSED_GRAYSCALE = 1 |
2079 |
| -UNCOMPRESSED_GRAY_ALPHA = 2 |
2080 |
| -UNCOMPRESSED_R5G6B5 = 3 |
2081 |
| -UNCOMPRESSED_R8G8B8 = 4 |
2082 |
| -UNCOMPRESSED_R5G5B5A1 = 5 |
2083 |
| -UNCOMPRESSED_R4G4B4A4 = 6 |
2084 |
| -UNCOMPRESSED_R8G8B8A8 = 7 |
2085 |
| -UNCOMPRESSED_R32 = 8 |
2086 |
| -UNCOMPRESSED_R32G32B32 = 9 |
2087 |
| -UNCOMPRESSED_R32G32B32A32 = 10 |
2088 |
| -COMPRESSED_DXT1_RGB = 11 |
2089 |
| -COMPRESSED_DXT1_RGBA = 12 |
2090 |
| -COMPRESSED_DXT3_RGBA = 13 |
2091 |
| -COMPRESSED_DXT5_RGBA = 14 |
2092 |
| -COMPRESSED_ETC1_RGB = 15 |
2093 |
| -COMPRESSED_ETC2_RGB = 16 |
2094 |
| -COMPRESSED_ETC2_EAC_RGBA = 17 |
2095 |
| -COMPRESSED_PVRT_RGB = 18 |
2096 |
| -COMPRESSED_PVRT_RGBA = 19 |
2097 |
| -COMPRESSED_ASTC_4x4_RGBA = 20 |
2098 |
| -COMPRESSED_ASTC_8x8_RGBA = 21 |
2099 |
| - |
2100 |
| - |
2101 |
| -FILTER_POINT = 0 |
2102 |
| -FILTER_BILINEAR = 1 |
2103 |
| -FILTER_TRILINEAR = 2 |
2104 |
| -FILTER_ANISOTROPIC_4X = 3 |
2105 |
| -FILTER_ANISOTROPIC_8X = 4 |
2106 |
| -FILTER_ANISOTROPIC_16X = 5 |
2107 |
| - |
2108 |
| - |
2109 |
| -WRAP_REPEAT = 0 |
2110 |
| -WRAP_CLAMP = 1 |
2111 |
| -WRAP_MIRROR = 2 |
2112 |
| - |
2113 |
| - |
2114 |
| -BLEND_ALPHA = 0 |
2115 |
| -BLEND_ADDITIVE = 1 |
2116 |
| -BLEND_MULTIPLIED = 2 |
2117 | 2097 |
|
| 2098 | +# Material map type |
| 2099 | +class TexmapIndex(IntEnum): |
| 2100 | + MAP_ALBEDO = 0 |
| 2101 | + MAP_METALNESS = 1 |
| 2102 | + MAP_NORMAL = 2 |
| 2103 | + MAP_ROUGHNESS = 3 |
| 2104 | + MAP_OCCLUSION = 4 |
| 2105 | + MAP_EMISSION = 5 |
| 2106 | + MAP_HEIGHT = 6 |
| 2107 | + MAP_CUBEMAP = 7 |
| 2108 | + MAP_IRRADIANCE = 8 |
| 2109 | + MAP_PREFILTER = 9 |
| 2110 | + MAP_BRDF = 10 |
| 2111 | + |
| 2112 | +MAP_ALBEDO = TexmapIndex.MAP_ALBEDO |
| 2113 | +MAP_METALNESS = TexmapIndex.MAP_METALNESS |
| 2114 | +MAP_NORMAL = TexmapIndex.MAP_NORMAL |
| 2115 | +MAP_ROUGHNESS = TexmapIndex.MAP_ROUGHNESS |
| 2116 | +MAP_OCCLUSION = TexmapIndex.MAP_OCCLUSION |
| 2117 | +MAP_EMISSION = TexmapIndex.MAP_EMISSION |
| 2118 | +MAP_HEIGHT = TexmapIndex.MAP_HEIGHT |
| 2119 | +MAP_CUBEMAP = TexmapIndex.MAP_CUBEMAP |
| 2120 | +MAP_IRRADIANCE = TexmapIndex.MAP_IRRADIANCE |
| 2121 | +MAP_PREFILTER = TexmapIndex.MAP_PREFILTER |
| 2122 | +MAP_BRDF = TexmapIndex.MAP_BRDF |
| 2123 | +MAP_DIFFUSE = TexmapIndex.MAP_ALBEDO |
| 2124 | +MAP_SPECULAR = TexmapIndex.MAP_METALNESS |
| 2125 | + |
| 2126 | + |
| 2127 | +class PixelFormat(IntEnum): |
| 2128 | + UNCOMPRESSED_GRAYSCALE = 1 |
| 2129 | + UNCOMPRESSED_GRAY_ALPHA = 2 |
| 2130 | + UNCOMPRESSED_R5G6B5 = 3 |
| 2131 | + UNCOMPRESSED_R8G8B8 = 4 |
| 2132 | + UNCOMPRESSED_R5G5B5A1 = 5 |
| 2133 | + UNCOMPRESSED_R4G4B4A4 = 6 |
| 2134 | + UNCOMPRESSED_R8G8B8A8 = 7 |
| 2135 | + UNCOMPRESSED_R32 = 8 |
| 2136 | + UNCOMPRESSED_R32G32B32 = 9 |
| 2137 | + UNCOMPRESSED_R32G32B32A32 = 10 |
| 2138 | + COMPRESSED_DXT1_RGB = 11 |
| 2139 | + COMPRESSED_DXT1_RGBA = 12 |
| 2140 | + COMPRESSED_DXT3_RGBA = 13 |
| 2141 | + COMPRESSED_DXT5_RGBA = 14 |
| 2142 | + COMPRESSED_ETC1_RGB = 15 |
| 2143 | + COMPRESSED_ETC2_RGB = 16 |
| 2144 | + COMPRESSED_ETC2_EAC_RGBA = 17 |
| 2145 | + COMPRESSED_PVRT_RGB = 18 |
| 2146 | + COMPRESSED_PVRT_RGBA = 19 |
| 2147 | + COMPRESSED_ASTC_4x4_RGBA = 20 |
| 2148 | + COMPRESSED_ASTC_8x8_RGBA = 21 |
| 2149 | + |
| 2150 | + |
| 2151 | +UNCOMPRESSED_GRAYSCALE = PixelFormat.UNCOMPRESSED_GRAYSCALE |
| 2152 | +UNCOMPRESSED_GRAY_ALPHA = PixelFormat.UNCOMPRESSED_GRAY_ALPHA |
| 2153 | +UNCOMPRESSED_R5G6B5 = PixelFormat.UNCOMPRESSED_R5G6B5 |
| 2154 | +UNCOMPRESSED_R8G8B8 = PixelFormat.UNCOMPRESSED_R8G8B8 |
| 2155 | +UNCOMPRESSED_R5G5B5A1 = PixelFormat.UNCOMPRESSED_R5G5B5A1 |
| 2156 | +UNCOMPRESSED_R4G4B4A4 = PixelFormat.UNCOMPRESSED_R4G4B4A4 |
| 2157 | +UNCOMPRESSED_R8G8B8A8 = PixelFormat.UNCOMPRESSED_R8G8B8A8 |
| 2158 | +UNCOMPRESSED_R32 = PixelFormat.UNCOMPRESSED_R32 |
| 2159 | +UNCOMPRESSED_R32G32B32 = PixelFormat.UNCOMPRESSED_R32G32B32 |
| 2160 | +UNCOMPRESSED_R32G32B32A32 = PixelFormat.UNCOMPRESSED_R32G32B32A32 |
| 2161 | +COMPRESSED_DXT1_RGB = PixelFormat.COMPRESSED_DXT1_RGB |
| 2162 | +COMPRESSED_DXT1_RGBA = PixelFormat.COMPRESSED_DXT1_RGBA |
| 2163 | +COMPRESSED_DXT3_RGBA = PixelFormat.COMPRESSED_DXT3_RGBA |
| 2164 | +COMPRESSED_DXT5_RGBA = PixelFormat.COMPRESSED_DXT5_RGBA |
| 2165 | +COMPRESSED_ETC1_RGB = PixelFormat.COMPRESSED_ETC1_RGB |
| 2166 | +COMPRESSED_ETC2_RGB = PixelFormat.COMPRESSED_ETC2_RGB |
| 2167 | +COMPRESSED_ETC2_EAC_RGBA = PixelFormat.COMPRESSED_ETC2_EAC_RGBA |
| 2168 | +COMPRESSED_PVRT_RGB = PixelFormat.COMPRESSED_PVRT_RGB |
| 2169 | +COMPRESSED_PVRT_RGBA = PixelFormat.COMPRESSED_PVRT_RGBA |
| 2170 | +COMPRESSED_ASTC_4x4_RGBA = PixelFormat.COMPRESSED_ASTC_4x4_RGBA |
| 2171 | +COMPRESSED_ASTC_8x8_RGBA = PixelFormat.COMPRESSED_ASTC_8x8_RGBA |
| 2172 | + |
| 2173 | + |
| 2174 | +class TextureFilterMode(IntEnum): |
| 2175 | + FILTER_POINT = 0 |
| 2176 | + FILTER_BILINEAR = 1 |
| 2177 | + FILTER_TRILINEAR = 2 |
| 2178 | + FILTER_ANISOTROPIC_4X = 3 |
| 2179 | + FILTER_ANISOTROPIC_8X = 4 |
| 2180 | + FILTER_ANISOTROPIC_16X = 5 |
| 2181 | + |
| 2182 | +FILTER_POINT = TextureFilterMode.FILTER_POINT |
| 2183 | +FILTER_BILINEAR = TextureFilterMode.FILTER_BILINEAR |
| 2184 | +FILTER_TRILINEAR = TextureFilterMode.FILTER_TRILINEAR |
| 2185 | +FILTER_ANISOTROPIC_4X = TextureFilterMode.FILTER_ANISOTROPIC_4X |
| 2186 | +FILTER_ANISOTROPIC_8X = TextureFilterMode.FILTER_ANISOTROPIC_8X |
| 2187 | +FILTER_ANISOTROPIC_16X = TextureFilterMode.FILTER_ANISOTROPIC_16X |
| 2188 | + |
| 2189 | + |
| 2190 | +class TextureWrapMode(IntEnum): |
| 2191 | + WRAP_REPEAT = 0 |
| 2192 | + WRAP_CLAMP = 1 |
| 2193 | + WRAP_MIRROR = 2 |
| 2194 | + |
| 2195 | +WRAP_REPEAT = TextureWrapMode.WRAP_REPEAT |
| 2196 | +WRAP_CLAMP = TextureWrapMode.WRAP_CLAMP |
| 2197 | +WRAP_MIRROR = TextureWrapMode.WRAP_MIRROR |
| 2198 | + |
| 2199 | +class BlendMode(IntEnum): |
| 2200 | + BLEND_ALPHA = 0 |
| 2201 | + BLEND_ADDITIVE = 1 |
| 2202 | + BLEND_MULTIPLIED = 2 |
| 2203 | + |
| 2204 | +BLEND_ALPHA = BlendMode.BLEND_ALPHA |
| 2205 | +BLEND_ADDITIVE = BlendMode.BLEND_ADDITIVE |
| 2206 | +BLEND_MULTIPLIED = BlendMode.BLEND_MULTIPLIED |
2118 | 2207 |
|
2119 | 2208 | GESTURE_NONE = 0
|
2120 | 2209 | GESTURE_TAP = 1
|
|
0 commit comments