89 lines
2.5 KiB
Plaintext
Executable File
89 lines
2.5 KiB
Plaintext
Executable File
/*
|
|
* Copyright (C) 2012 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
/** @file rs_mesh.rsh
|
|
* \brief Mesh routines
|
|
*
|
|
*
|
|
*/
|
|
|
|
#ifndef __RS_MESH_RSH__
|
|
#define __RS_MESH_RSH__
|
|
|
|
// New API's
|
|
#if (defined(RS_VERSION) && (RS_VERSION >= 16))
|
|
|
|
/**
|
|
* Returns the number of allocations in the mesh that contain
|
|
* vertex data
|
|
*
|
|
* @param m mesh to get data from
|
|
* @return number of allocations in the mesh that contain vertex
|
|
* data
|
|
*/
|
|
extern uint32_t __attribute__((overloadable))
|
|
rsgMeshGetVertexAllocationCount(rs_mesh m);
|
|
|
|
/**
|
|
* Meshes could have multiple index sets, this function returns
|
|
* the number.
|
|
*
|
|
* @param m mesh to get data from
|
|
* @return number of primitive groups in the mesh. This would
|
|
* include simple primitives as well as allocations
|
|
* containing index data
|
|
*/
|
|
extern uint32_t __attribute__((overloadable))
|
|
rsgMeshGetPrimitiveCount(rs_mesh m);
|
|
|
|
/**
|
|
* Returns an allocation that is part of the mesh and contains
|
|
* vertex data, e.g. positions, normals, texcoords
|
|
*
|
|
* @param m mesh to get data from
|
|
* @param index index of the vertex allocation
|
|
* @return allocation containing vertex data
|
|
*/
|
|
extern rs_allocation __attribute__((overloadable))
|
|
rsgMeshGetVertexAllocation(rs_mesh m, uint32_t index);
|
|
|
|
/**
|
|
* Returns an allocation containing index data or a null
|
|
* allocation if only the primitive is specified
|
|
*
|
|
* @param m mesh to get data from
|
|
* @param index index of the index allocation
|
|
* @return allocation containing index data
|
|
*/
|
|
extern rs_allocation __attribute__((overloadable))
|
|
rsgMeshGetIndexAllocation(rs_mesh m, uint32_t index);
|
|
|
|
/**
|
|
* Returns the primitive describing how a part of the mesh is
|
|
* rendered
|
|
*
|
|
* @param m mesh to get data from
|
|
* @param index index of the primitive
|
|
* @return primitive describing how the mesh is rendered
|
|
*/
|
|
extern rs_primitive __attribute__((overloadable))
|
|
rsgMeshGetPrimitive(rs_mesh m, uint32_t index);
|
|
|
|
#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
|
|
|
|
#endif // __RS_MESH_RSH__
|
|
|