Files
workinf_Blender_Wasm/blender-5.2.0/intern/draco_bridge/intern/encoder.h
2026-08-12 04:47:48 -04:00

63 lines
1.5 KiB
C

/* SPDX-FileCopyrightText: 2026 Blender Authors
*
* SPDX-License-Identifier: Apache-2.0 */
/**
* Library for the Draco encoding/decoding feature inside the glTF-Blender-IO project.
*
* The python script within glTF-Blender-IO uses the CTypes library to open the DLL,
* load function pointers add pass the raw data to the encoder.
*
* @author Jim Eckerlein <eckerlein@ux3d.io>
* @date 2020-11-18
*/
#pragma once
#include "common.h"
struct Encoder;
API(Encoder *)
encoderCreate(uint32_t vertexCount);
API(void)
encoderRelease(Encoder *encoder);
API(void)
encoderSetCompressionLevel(Encoder *encoder, uint32_t compressionLevel);
API(void)
encoderSetQuantizationBits(Encoder *encoder,
uint32_t position,
uint32_t normal,
uint32_t uv,
uint32_t color,
uint32_t generic);
API(bool)
encoderEncode(Encoder *encoder, uint8_t preserveTriangleOrder);
API(uint64_t)
encoderGetByteLength(Encoder *encoder);
API(void)
encoderCopy(Encoder *encoder, uint8_t *data);
API(void)
encoderSetIndices(Encoder *encoder, size_t indexComponentType, uint32_t indexCount, void *indices);
API(uint32_t)
encoderSetAttribute(Encoder *encoder,
char *attributeName,
size_t componentType,
char *dataType,
void *data,
bool normalized);
API(uint32_t)
encoderGetEncodedVertexCount(Encoder *encoder);
API(uint32_t)
encoderGetEncodedIndexCount(Encoder *encoder);