Esempio n. 1
0
        public static int GetComponentTypeSize(GLType componentType)
        {
            switch (componentType)
            {
            case GLType.BYTE:
                return(1);

            case GLType.UNSIGNED_BYTE:
                return(1);

            case GLType.SHORT:
                return(2);

            case GLType.UNSIGNED_SHORT:
                return(2);

            case GLType.FLOAT:
                return(4);

            case GLType.UNSIGNED_INT:
                return(4);

            default:
                Debug.LogError("componentType " + (int)componentType + " not supported!");
                return(0);
            }
        }
Esempio n. 2
0
        public static int ByteSize(this GLType gltype)
        {
            switch (gltype)
            {
            case GLType.BYTE:
                return(sizeof(sbyte));

            case GLType.UNSIGNED_BYTE:
                return(sizeof(byte));

            case GLType.SHORT:
                return(sizeof(short));

            case GLType.UNSIGNED_SHORT:
                return(sizeof(ushort));

            case GLType.FLOAT:
                return(sizeof(float));

            case GLType.UNSIGNED_INT:
                return(sizeof(uint));

            default:
                Debug.LogError("GLType " + (int)gltype + " not supported!");
                return(0);
            }
        }
            public Func <BufferedBinaryReader, float> GetFloatReader(GLType componentType)
            {
                Func <BufferedBinaryReader, float> readMethod;

                switch (componentType)
                {
                case GLType.BYTE:
                    return(x => x.ReadSByte());

                case GLType.UNSIGNED_BYTE:
                    return(readMethod = x => x.ReadByte());

                case GLType.FLOAT:
                    return(readMethod = x => x.ReadSingle());

                case GLType.SHORT:
                    return(readMethod = x => x.ReadInt16());

                case GLType.UNSIGNED_SHORT:
                    return(readMethod = x => x.ReadUInt16());

                case GLType.UNSIGNED_INT:
                    return(readMethod = x => x.ReadUInt32());

                default:
                    Debug.LogWarning("No componentType defined");
                    return(readMethod = x => x.ReadSingle());
                }
            }
Esempio n. 4
0
        public HttpResponseMessage UpdateGLType(HttpRequestMessage request, [FromBody] GLType glTypeModel)
        {
            return(GetHttpResponse(request, () =>
            {
                var glType = _FinstatService.UpdateGLType(glTypeModel);

                return request.CreateResponse <GLType>(HttpStatusCode.OK, glType);
            }));
        }
Esempio n. 5
0
        public HttpResponseMessage GetGLType(HttpRequestMessage request, int glTypeId)
        {
            return(GetHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;

                GLType glType = _FinstatService.GetGLType(glTypeId);

                // notice no need to create a seperate model object since GLType entity will do just fine
                response = request.CreateResponse <GLType>(HttpStatusCode.OK, glType);

                return response;
            }));
        }
Esempio n. 6
0
        public static KtxHeader InitializeUncompressed(int width, int height, GLType type, GLFormat format, uint glTypeSize, GlInternalFormat internalFormat, GLFormat baseInternalFormat)
        {
            KtxHeader   header = new KtxHeader();
            Span <byte> id     = stackalloc byte[] { 0xAB, 0x4B, 0x54, 0x58, 0x20, 0x31, 0x31, 0xBB, 0x0D, 0x0A, 0x1A, 0x0A };

            for (int i = 0; i < id.Length; i++)
            {
                header.Identifier[i] = id[i];
            }
            header.Endianness           = 0x04030201;
            header.PixelWidth           = (uint)width;
            header.PixelHeight          = (uint)height;
            header.GlType               = type;
            header.GlTypeSize           = glTypeSize;
            header.GlFormat             = format;
            header.GlInternalFormat     = internalFormat;
            header.GlBaseInternalFormat = baseInternalFormat;

            return(header);
        }
    }
Esempio n. 7
0
        public HttpResponseMessage DeleteGLType(HttpRequestMessage request, [FromBody] int glTypeId)
        {
            return(GetHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;

                // not that calling the WCF service here will authenticate access to the data
                GLType glType = _FinstatService.GetGLType(glTypeId);

                if (glType != null)
                {
                    _FinstatService.DeleteGLType(glTypeId);

                    response = request.CreateResponse(HttpStatusCode.OK);
                }
                else
                {
                    response = request.CreateErrorResponse(HttpStatusCode.NotFound, "No glType found under that ID.");
                }

                return response;
            }));
        }
Esempio n. 8
0
        public static bool TryParse(string value, out GLType type)
        {
            switch (value.ToUpper())
            {
            case "SCALAR":
                type = GLType.Scalar;
                return(true);

            case "VEC2":
                type = GLType.Vector2;
                return(true);

            case "VEC3":
                type = GLType.Vector3;
                return(true);

            case "VEC4":
                type = GLType.Vector4;
                return(true);

            case "MAT2":
                type = GLType.Matrix2;
                return(true);

            case "MAT3":
                type = GLType.Matrix3;
                return(true);

            case "MAT4":
                type = GLType.Matrix4;
                return(true);

            default:
                type = GLType.Scalar;
                return(false);
            }
        }
Esempio n. 9
0
 public GLObject(int handle, GLType glType)
 {
     Handle = handle;
     GlType = glType;
 }
        public static VkFormat vkGetFormatFromOpenGLInternalFormat(GlInternalFormat internalFormat, GLFormat format, GLType glType)
        {
            switch (internalFormat)
            {
            //
            // Packed formats
            //

            case GlInternalFormat.GL_RGBA4:
                if (format == GLFormat.GL_RGBA)
                {
                    return(VkFormat.R4g4b4a4UnormPack16);
                }
                else
                {
                    return(VkFormat.B4g4r4a4UnormPack16);
                }

            case GlInternalFormat.GL_RGB565:
                if (glType == GLType.GL_UNSIGNED_SHORT_5_6_5)
                {
                    return(VkFormat.R5g6b5UnormPack16);
                }
                else
                {
                    return(VkFormat.B5g6r5UnormPack16);
                }

            case GlInternalFormat.GL_RGB5_A1:
                if (format == GLFormat.GL_RGBA)
                {
                    return(VkFormat.R5g5b5a1UnormPack16);
                }
                else if (glType == GLType.GL_UNSIGNED_SHORT_5_5_5_1)
                {
                    return(VkFormat.B5g5r5a1UnormPack16);
                }
                else
                {
                    return(VkFormat.A1r5g5b5UnormPack16);
                }

            //
            // Raw formats 8 bits
            //
            case GlInternalFormat.GL_R8:
                return(VkFormat.R8Unorm);

            case GlInternalFormat.GL_R8_SNORM:
                return(VkFormat.R8Snorm);

            case GlInternalFormat.GL_R8UI:
                return(VkFormat.R8Uint);

            case GlInternalFormat.GL_R8I:
                return(VkFormat.R8Sint);

            case GlInternalFormat.GL_RG8:
                return(VkFormat.R8g8Unorm);

            case GlInternalFormat.GL_RG8_SNORM:
                return(VkFormat.R8g8Snorm);

            case GlInternalFormat.GL_RG8UI:
                return(VkFormat.R8g8Uint);

            case GlInternalFormat.GL_RG8I:
                return(VkFormat.R8g8Sint);

            case GlInternalFormat.GL_RGB8:
                if (format == GLFormat.GL_RGB)
                {
                    return(VkFormat.R8g8b8Unorm);
                }
                else
                {
                    return(VkFormat.B8g8r8Unorm);
                }

            case GlInternalFormat.GL_RGB8_SNORM:
                if (format == GLFormat.GL_RGB)
                {
                    return(VkFormat.R8g8b8Snorm);
                }
                else
                {
                    return(VkFormat.B8g8r8Snorm);
                }

            case GlInternalFormat.GL_RGB8UI:
                if (format == GLFormat.GL_RGB)
                {
                    return(VkFormat.R8g8b8Uint);
                }
                else
                {
                    return(VkFormat.B8g8r8Uint);
                }

            case GlInternalFormat.GL_RGB8I:
                if (format == GLFormat.GL_RGB)
                {
                    return(VkFormat.R8g8b8Sint);
                }
                else
                {
                    return(VkFormat.B8g8r8Sint);
                }

            case GlInternalFormat.GL_RGBA8:
                if (format == GLFormat.GL_RGBA)
                {
                    return(VkFormat.R8g8b8a8Unorm);
                }
                else
                {
                    return(VkFormat.B8g8r8a8Unorm);
                }

            case GlInternalFormat.GL_RGBA8_SNORM:
                if (format == GLFormat.GL_RGBA)
                {
                    return(VkFormat.R8g8b8a8Snorm);
                }
                else
                {
                    return(VkFormat.B8g8r8a8Snorm);
                }

            case GlInternalFormat.GL_RGBA8UI:
                if (format == GLFormat.GL_RGBA)
                {
                    return(VkFormat.R8g8b8a8Uint);
                }
                else
                {
                    return(VkFormat.B8g8r8a8Uint);
                }

            case GlInternalFormat.GL_RGBA8I:
                if (format == GLFormat.GL_RGBA)
                {
                    return(VkFormat.R8g8b8a8Sint);
                }
                else
                {
                    return(VkFormat.B8g8r8a8Sint);
                }

            //
            // 10 bit color 2 alpha packed formats
            //
            case GlInternalFormat.GL_RGB10_A2:
                if (format == GLFormat.GL_RGBA)
                {
                    return(VkFormat.A2r10g10b10SnormPack32);
                }
                else
                {
                    return(VkFormat.A2b10g10r10SnormPack32);
                }

            case GlInternalFormat.GL_RGB10_A2UI:
                if (format == GLFormat.GL_RGBA)
                {
                    return(VkFormat.A2r10g10b10UintPack32);
                }
                else
                {
                    return(VkFormat.A2b10g10r10UintPack32);
                }

            //
            // Raw formats 16 bits
            //

            case GlInternalFormat.GL_R16:
                return(VkFormat.R16Unorm);

            case GlInternalFormat.GL_R16_SNORM:
                return(VkFormat.R16Snorm);

            case GlInternalFormat.GL_R16UI:
                return(VkFormat.R16Uint);

            case GlInternalFormat.GL_R16I:
                return(VkFormat.R16Sint);

            case GlInternalFormat.GL_R16F:
                return(VkFormat.R16Sfloat);

            case GlInternalFormat.GL_RG16:
                return(VkFormat.R16g16Unorm);

            case GlInternalFormat.GL_RG16_SNORM:
                return(VkFormat.R16g16Snorm);

            case GlInternalFormat.GL_RG16UI:
                return(VkFormat.R16g16Uint);

            case GlInternalFormat.GL_RG16I:
                return(VkFormat.R16g16Sint);

            case GlInternalFormat.GL_RG16F:
                return(VkFormat.R16g16Sfloat);

            case GlInternalFormat.GL_RGB16:
                return(VkFormat.R16g16b16Unorm);

            case GlInternalFormat.GL_RGB16_SNORM:
                return(VkFormat.R16g16b16Snorm);

            case GlInternalFormat.GL_RGB16UI:
                return(VkFormat.R16g16b16Uint);

            case GlInternalFormat.GL_RGB16I:
                return(VkFormat.R16g16b16Sint);

            case GlInternalFormat.GL_RGB16F:
                return(VkFormat.R16g16b16Sfloat);

            case GlInternalFormat.GL_RGBA16:
                return(VkFormat.R16g16b16a16Unorm);

            case GlInternalFormat.GL_RGBA16_SNORM:
                return(VkFormat.R16g16b16a16Snorm);

            case GlInternalFormat.GL_RGBA16UI:
                return(VkFormat.R16g16b16a16Uint);

            case GlInternalFormat.GL_RGBA16I:
                return(VkFormat.R16g16b16a16Sint);

            case GlInternalFormat.GL_RGBA16F:
                return(VkFormat.R16g16b16a16Sfloat);

            //
            // Raw formats 32 bits
            //

            case GlInternalFormat.GL_R32UI:
                return(VkFormat.R32Uint);

            case GlInternalFormat.GL_R32I:
                return(VkFormat.R32Sint);

            case GlInternalFormat.GL_R32F:
                return(VkFormat.R32Sfloat);

            case GlInternalFormat.GL_RG32UI:
                return(VkFormat.R32g32Uint);

            case GlInternalFormat.GL_RG32I:
                return(VkFormat.R32g32Sint);

            case GlInternalFormat.GL_RG32F:
                return(VkFormat.R32g32Sfloat);

            case GlInternalFormat.GL_RGB32UI:
                return(VkFormat.R32g32b32Uint);

            case GlInternalFormat.GL_RGB32I:
                return(VkFormat.R32g32b32Sint);

            case GlInternalFormat.GL_RGB32F:
                return(VkFormat.R32g32b32Sfloat);

            case GlInternalFormat.GL_RGBA32UI:
                return(VkFormat.R32g32b32a32Uint);

            case GlInternalFormat.GL_RGBA32I:
                return(VkFormat.R32g32b32a32Sint);

            case GlInternalFormat.GL_RGBA32F:
                return(VkFormat.R32g32b32a32Sfloat);

            //
            // Depth formats
            //

            case GlInternalFormat.GL_DEPTH_COMPONENT16:
                return(VkFormat.D16Unorm);

            case GlInternalFormat.GL_DEPTH_COMPONENT24:
                return(VkFormat.X8D24UnormPack32);

            case GlInternalFormat.GL_DEPTH_COMPONENT32F:
                return(VkFormat.D32Sfloat);

            case GlInternalFormat.GL_STENCIL_INDEX8:
                return(VkFormat.S8Uint);

            case GlInternalFormat.GL_DEPTH24_STENCIL8:
                return(VkFormat.D24UnormS8Uint);

            case GlInternalFormat.GL_DEPTH32F_STENCIL8:
                return(VkFormat.D32SfloatS8Uint);

            //
            // S3TC/DXT/BC
            //
            case GlInternalFormat.GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
                return(VkFormat.Bc1RgbUnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
                return(VkFormat.Bc1RgbaUnormBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB_S3TC_DXT1_EXT:
                return(VkFormat.Bc1RgbSrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:
                return(VkFormat.Bc1RgbaSrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_S3TC_DXT3_EXT:
                return(VkFormat.Bc2UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:
                return(VkFormat.Bc2SrgbBlock);


            case GlInternalFormat.GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
                return(VkFormat.Bc3UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:
                return(VkFormat.Bc3SrgbBlock);

            case  GlInternalFormat.GL_COMPRESSED_RED_RGTC1_EXT:
                return(VkFormat.Bc4UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_SIGNED_RED_RGTC1_EXT:
                return(VkFormat.Bc4SnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RED_GREEN_RGTC2_EXT:
                return(VkFormat.Bc5UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:
                return(VkFormat.Bc5SnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB:
                return(VkFormat.Bc6hUfloatBlock);

            case GlInternalFormat.GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB:
                return(VkFormat.Bc6hSfloatBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_BPTC_UNORM_ARB:
                return(VkFormat.Bc7UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB:
                return(VkFormat.Bc7SrgbBlock);

            //
            // ETC
            //
            case GlInternalFormat.GL_ETC1_RGB8_OES:
                return(VkFormat.Etc2R8g8b8UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGB8_ETC2:
                return(VkFormat.Etc2R8g8b8UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:
                return(VkFormat.Etc2R8g8b8a1UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA8_ETC2_EAC:
                return(VkFormat.Etc2R8g8b8a8UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ETC2:
                return(VkFormat.Etc2R8g8b8SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:
                return(VkFormat.Etc2R8g8b8a1SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:
                return(VkFormat.Etc2R8g8b8a8SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_R11_EAC:
                return(VkFormat.EacR11UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RG11_EAC:
                return(VkFormat.EacR11g11UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_SIGNED_R11_EAC:
                return(VkFormat.EacR11SnormBlock);

            case GlInternalFormat.GL_COMPRESSED_SIGNED_RG11_EAC:
                return(VkFormat.EacR11g11SnormBlock);

            //
            // ASTC
            //
            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_4x4_KHR:
                return(VkFormat.Astc4x4UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_5x4_KHR:
                return(VkFormat.Astc5x4UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_5x5_KHR:
                return(VkFormat.Astc5x5UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_6x5_KHR:
                return(VkFormat.Astc6x5UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_6x6_KHR:
                return(VkFormat.Astc6x6UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_8x5_KHR:
                return(VkFormat.Astc8x5UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_8x6_KHR:
                return(VkFormat.Astc8x6UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_8x8_KHR:
                return(VkFormat.Astc8x8UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_10x5_KHR:
                return(VkFormat.Astc10x5UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_10x6_KHR:
                return(VkFormat.Astc10x6UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_10x8_KHR:
                return(VkFormat.Astc10x8UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_10x10_KHR:
                return(VkFormat.Astc10x10UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_12x10_KHR:
                return(VkFormat.Astc12x10UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_RGBA_ASTC_12x12_KHR:
                return(VkFormat.Astc12x12UnormBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:
                return(VkFormat.Astc4x4SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:
                return(VkFormat.Astc5x4SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:
                return(VkFormat.Astc5x5SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:
                return(VkFormat.Astc6x5SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:
                return(VkFormat.Astc6x6SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:
                return(VkFormat.Astc8x5SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:
                return(VkFormat.Astc8x6SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:
                return(VkFormat.Astc8x8SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:
                return(VkFormat.Astc10x5SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:
                return(VkFormat.Astc10x6SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:
                return(VkFormat.Astc10x8SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:
                return(VkFormat.Astc10x10SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:
                return(VkFormat.Astc12x10SrgbBlock);

            case GlInternalFormat.GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:
                return(VkFormat.Astc12x12SrgbBlock);

            default: return(VkFormat.Undefined);
            }
        }
Esempio n. 11
0
        private void draw3(bool useColor)
        {
            if (this.Children.Length > 0)
            {
                foreach (CadObject co in this.Children)
                {
                    co.draw(useColor);
                }
            }
            else
            {
                if (this.AnonymousDraw == null)
                {
                    if ((CadObject.UseColorTracker == 0) && (useColor) && (this._Color != null)) this._Color.sendToGL();

                    switch (this._GLType)
                    {
                        case GLType.UNK:
                            {
                                break;
                            }
                        case GLType.GL3:
                            {
                                if (this._BoolSetupGL3) this.drawGL3();
                                else if (this.setupGL3()) this._BoolSetupGL3 = true;
                                else this._GLType = GLType.UNK;
                                break;
                            }
                        case GLType.GL4:
                            {
                                if (this._BoolSetupGL4) this.drawGL4();
                                else if (this.setupGL4()) this._BoolSetupGL4 = true;
                                else this._GLType = GLType.UNK;
                                break;
                            }
                    }
                }
                else AnonymousDraw();
            }
        }
Esempio n. 12
0
        internal void initialize()
        {
            this.GLDelete();

            if (this.Vertices.Length != this.Normals.Length)
            {
                Console.WriteLine("CadObject." + System.Reflection.MethodBase.GetCurrentMethod().Name + " vertices and normals mismatch");
                this._GLType = GLType.UNK;
                return;
            }

            this._BoolSetupGL4 = this.setupGL4();
            if (this._BoolSetupGL4) this._GLType = GLType.GL4;
            else
            {
                this._BoolSetupGL3 = this.setupGL3();
                if (this._BoolSetupGL3) this._GLType = GLType.GL3;
                else this._GLType = GLType.UNK;
            }
        }
Esempio n. 13
0
        public Option(string[] args)
        {
            bool isOptions = false;
            bool isIncludes = false;
            bool isDefines = false;

            for (int i = 0; i < args.Length; i++)
            {
                var arg = args[i];

                if (arg == "-opt")
                {
                    isOptions = true;
                }
                else if (arg == "-I")
                {
                    isIncludes = true;
                }
                else if (arg == "-D")
                {
                    isDefines = true;
                }
                else if (arg == "-i")
                {
                    this.Input = args[++i];
                }
                else if (arg == "-o")
                {
                    this.Output = args[++i];
                }
                else if (arg == "-e")
                {
                    this.Entry = args[++i];
                }
                else if (arg == "-p")
                {
                    this.Profile = args[++i];
                }
                else if (arg == "-t")
                {
                    var val = args[++i];
                    val = val.ToLower();
                    if (val == "gl")
                    {
                        this.glType = GLType.GL;
                    }
                    else
                    {
                        this.glType = GLType.GLES2;
                    }
                }
                else if (arg == "--string-table")
                {
                    this.IsExportAsStringTable = true;
                }
                else if (arg == "--analyze")
                {
                    this.IsAnaylizeMode = true;
                    this.Input = args[++i];
                    this.Entry = args[++i];

                    // 他のオプションはすべて無視するのでここで終了
                    return;
                }
                else if (isOptions)
                {
                    if (string.IsNullOrEmpty(this.Options))
                    {
                        this.Options = arg;
                    }
                    else
                    {
                        this.Options += " " + arg;
                    }
                    isOptions = false;
                }
                else if (isIncludes)
                {
                    if (string.IsNullOrEmpty(this.Includes))
                    {
                        this.Includes = arg;
                    }
                    else
                    {
                        this.Includes += " " + arg;
                    }
                    isIncludes = false;
                }
                else if (isDefines)
                {
                    if (string.IsNullOrEmpty(this.Defines))
                    {
                        this.Defines = arg;
                    }
                    else
                    {
                        this.Defines += " " + arg;
                    }
                    isDefines = false;
                }
            }

            // 入力ファイル名からプリプロセスされたファイル名とバイトコード出力されたファイル名を作成する
            if (!string.IsNullOrEmpty(this.Input))
            {
                var dir = Path.GetDirectoryName(this.Input);
                this.ByteCodedFile = Path.GetFileNameWithoutExtension(this.Input);
                this.ByteCodedFile = Path.Combine(dir, this.ByteCodedFile);
                this.ByteCodedFile += ".bc";

                this.PreprocessedFile = this.Input + "_";
            }
        }
Esempio n. 14
0
 public GLType UpdateGLType(GLType glType)
 {
     return(Channel.UpdateGLType(glType));
 }
Esempio n. 15
0
 public GLCode(String aCode, String aDesc, GLType aType)
 {
     this.Code = aCode;
     this.Desc = aDesc;
     this.Type = aType;
 }
Esempio n. 16
0
        /// <summary>
        /// OpenGLのプロパティを取得します。
        /// </summary>
        private static string Analyze(GetPName pname, GLType type)
        {
            string output;

            switch (type)
            {
            case GLType.Boolean:
                bool result1b;
                GL.GetBoolean(pname, out result1b);
                output = pname + ": " + result1b;
                break;

            case GLType.Int:
                int result1i;
                GL.GetInteger(pname, out result1i);
                output = pname + ": " + result1i;
                break;

            case GLType.IntEnum:
                int result1e;
                GL.GetInteger(pname, out result1e);
                output = pname + ": " + (All)result1e;
                break;

            case GLType.IntArray2:
                int[] result2i = new int[2];
                GL.GetInteger(pname, result2i);
                output = pname + ": ( " + result2i[0] + ", " + result2i[1] + " )";
                break;

            case GLType.IntArray4:
                int[] result4i = new int[4];
                GL.GetInteger(pname, result4i);
                output = pname + ": ( " + result4i[0] + ", " + result4i[1] + " ) ( " + result4i[2] + ", " + result4i[3] + " )";
                break;

            case GLType.Float:
                float result1f;
                GL.GetFloat(pname, out result1f);
                output = pname + ": " + result1f;
                break;

            case GLType.FloatArray2:
                Vector2 result2f;
                GL.GetFloat(pname, out result2f);
                output = pname + ": ( " + result2f.X + ", " + result2f.Y + " )";
                break;

            case GLType.FloatArray4:
                Vector4 result4f;
                GL.GetFloat(pname, out result4f);
                output = pname + ": ( " + result4f.X + ", " + result4f.Y + ", " + result4f.Z + ", " + result4f.W + " )";
                break;

            default:
                throw new NotImplementedException();
            }

            var err = GL.GetError();

            if (err != ErrorCode.NoError)
            {
                //Log.Error("Unsupported Token: " + pname);
            }

            return(output);
        }
Esempio n. 17
0
 internal void initializeWithVectorsAndNormals(Vector3[] v, Vector3[] n)
 {
     uint count;
     if (Helpers.ConsolidateData(v, n, out count, out this.Vertices, out this.Normals, out this.Indices)) this.initialize();
     else this._GLType = GLType.UNK;
 }