/// <summary> /// Gets an array containing all formats of the main Attributes Buffer. /// It have the length of each attribute, and the format (byte, float, short...). /// </summary> /// <returns></returns> public PICACommand.attributeFormat[] getVSHAttributesBufferFormat() { ulong format = getParameter(PICACommand.vertexShaderAttributesBufferFormatLow); format |= getParameter(PICACommand.vertexShaderAttributesBufferFormatHigh) << 32; PICACommand.attributeFormat[] formats = new PICACommand.attributeFormat[23]; for (int attribute = 0; attribute < formats.Length; attribute++) { byte value = (byte)((format >> (attribute * 4)) & 0xf); formats[attribute].type = (PICACommand.attributeFormatType)(value & 3); formats[attribute].attributeLength = (uint)(value >> 2); } return(formats); }
/// <summary> /// Gets an array containing all formats of the main Attributes Buffer. /// It have the length of each attribute, and the format (byte, float, short...). /// </summary> /// <returns></returns> public PICACommand.attributeFormat[] getVSHAttributesBufferFormat() { ulong format = getParameter(PICACommand.vertexShaderAttributesBufferFormatLow); format |= getParameter(PICACommand.vertexShaderAttributesBufferFormatHigh) << 32; PICACommand.attributeFormat[] formats = new PICACommand.attributeFormat[23]; for (int attribute = 0; attribute < formats.Length; attribute++) { byte value = (byte)((format >> (attribute * 4)) & 0xf); formats[attribute].type = (PICACommand.attributeFormatType)(value & 3); formats[attribute].attributeLength = (uint)(value >> 2); } return formats; }