mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 17:58:45 +02:00
fixes Sam made in my branch while trying to get a mesh to render
This commit is contained in:
parent
05a73d8a79
commit
258e3b901d
2 changed files with 9 additions and 9 deletions
|
@ -43,18 +43,18 @@ void Mesh::addAttribute(Slot slot, const BufferView& buffer) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Mesh::evalVertexFormat() {
|
void Mesh::evalVertexFormat() {
|
||||||
VertexFormat vf;
|
auto vf = new VertexFormat();
|
||||||
int channelNum = 0;
|
int channelNum = 0;
|
||||||
if (hasVertexData()) {
|
if (hasVertexData()) {
|
||||||
vf.setAttribute(gpu::Stream::POSITION, channelNum, _vertexBuffer._element, 0);
|
vf->setAttribute(gpu::Stream::POSITION, channelNum, _vertexBuffer._element, 0);
|
||||||
channelNum++;
|
channelNum++;
|
||||||
}
|
}
|
||||||
for (auto attrib : _attributeBuffers) {
|
for (auto attrib : _attributeBuffers) {
|
||||||
vf.setAttribute(attrib.first, channelNum, attrib.second._element, 0);
|
vf->setAttribute(attrib.first, channelNum, attrib.second._element, 0);
|
||||||
channelNum++;
|
channelNum++;
|
||||||
}
|
}
|
||||||
|
|
||||||
_vertexFormat = vf;
|
_vertexFormat.reset(vf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Mesh::setIndexBuffer(const BufferView& buffer) {
|
void Mesh::setIndexBuffer(const BufferView& buffer) {
|
||||||
|
@ -112,12 +112,12 @@ const gpu::BufferStream Mesh::makeBufferStream() const {
|
||||||
|
|
||||||
int channelNum = 0;
|
int channelNum = 0;
|
||||||
if (hasVertexData()) {
|
if (hasVertexData()) {
|
||||||
stream.addBuffer(_vertexBuffer._buffer, _vertexBuffer._offset, _vertexFormat.getChannelStride(channelNum));
|
stream.addBuffer(_vertexBuffer._buffer, _vertexBuffer._offset, _vertexFormat->getChannelStride(channelNum));
|
||||||
channelNum++;
|
channelNum++;
|
||||||
}
|
}
|
||||||
for (auto attrib : _attributeBuffers) {
|
for (auto attrib : _attributeBuffers) {
|
||||||
BufferView& view = attrib.second;
|
BufferView& view = attrib.second;
|
||||||
stream.addBuffer(view._buffer, view._offset, _vertexFormat.getChannelStride(channelNum));
|
stream.addBuffer(view._buffer, view._offset, _vertexFormat->getChannelStride(channelNum));
|
||||||
channelNum++;
|
channelNum++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,14 +47,14 @@ public:
|
||||||
void setVertexBuffer(const BufferView& buffer);
|
void setVertexBuffer(const BufferView& buffer);
|
||||||
const BufferView& getVertexBuffer() const { return _vertexBuffer; }
|
const BufferView& getVertexBuffer() const { return _vertexBuffer; }
|
||||||
uint getNumVertices() const { return _vertexBuffer.getNumElements(); }
|
uint getNumVertices() const { return _vertexBuffer.getNumElements(); }
|
||||||
bool hasVertexData() const { return !_vertexBuffer._buffer; }
|
bool hasVertexData() const { return _vertexBuffer._buffer.get() != nullptr; }
|
||||||
|
|
||||||
// Attribute Buffers
|
// Attribute Buffers
|
||||||
int getNumAttributes() const { return _attributeBuffers.size(); }
|
int getNumAttributes() const { return _attributeBuffers.size(); }
|
||||||
void addAttribute(Slot slot, const BufferView& buffer);
|
void addAttribute(Slot slot, const BufferView& buffer);
|
||||||
|
|
||||||
// Stream format
|
// Stream format
|
||||||
const VertexFormat& getVertexFormat() const { return _vertexFormat; }
|
const gpu::Stream::FormatPointer getVertexFormat() const { return _vertexFormat; }
|
||||||
|
|
||||||
// Index Buffer
|
// Index Buffer
|
||||||
void setIndexBuffer(const BufferView& buffer);
|
void setIndexBuffer(const BufferView& buffer);
|
||||||
|
@ -114,7 +114,7 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
VertexFormat _vertexFormat;
|
gpu::Stream::FormatPointer _vertexFormat;
|
||||||
|
|
||||||
BufferView _vertexBuffer;
|
BufferView _vertexBuffer;
|
||||||
BufferViewMap _attributeBuffers;
|
BufferViewMap _attributeBuffers;
|
||||||
|
|
Loading…
Reference in a new issue