if(descriptor.IsConsecutive())
{
- return !!source.read(reinterpret_cast<char*>(target), descriptor.mLength);
+ return !!source.read(reinterpret_cast<char*>(target), static_cast<std::streamsize>(static_cast<size_t>(descriptor.mLength)));
}
else
{
const auto numComponents = std::max(min.size(), max.size());
using ClampFn = void (*)(const float*, const float*, uint32_t, float&);
- ClampFn clampFn = min.empty() ? (max.empty() ? static_cast<ClampFn>(nullptr) : [](const float* min, const float* max, uint32_t i, float& value)
- { value = std::min(max[i], value); })
- : (max.empty() ? [](const float* min, const float* max, uint32_t i, float& value)
- { value = std::max(min[i], value); }
- : static_cast<ClampFn>([](const float* min, const float* max, uint32_t i, float& value)
- { value = std::min(std::max(min[i], value), max[i]); }));
+ ClampFn clampFn = min.empty() ? (max.empty() ? static_cast<ClampFn>(nullptr) : [](const float* min, const float* max, uint32_t i, float& value) { value = std::min(max[i], value); })
+ : (max.empty() ? [](const float* min, const float* max, uint32_t i, float& value) { value = std::max(min[i], value); }
+ : static_cast<ClampFn>([](const float* min, const float* max, uint32_t i, float& value) { value = std::min(std::max(min[i], value), max[i]); }));
if(!clampFn)
{
raw.mIndices.resize(indexCount); // NOTE: we need space for uint32_ts initially.
std::string path;
- auto u8s = reinterpret_cast<uint8_t*>(raw.mIndices.data()) + indexCount;
+ auto u8s = reinterpret_cast<uint8_t*>(raw.mIndices.data()) + indexCount;
auto& stream = GetAvailableData(fileStream, meshPath, buffers[mIndices.mBufferIdx], path);
if(!ReadAccessor(mIndices, stream, u8s))
{
"Index buffer length not a multiple of element size");
raw.mIndices.resize(mIndices.mBlob.mLength / sizeof(unsigned short));
-
std::string path;
auto& stream = GetAvailableData(fileStream, meshPath, buffers[mIndices.mBufferIdx], path);
if(!ReadAccessor(mIndices, stream, reinterpret_cast<uint8_t*>(raw.mIndices.data())))