Skip to content

Commit

Permalink
Hydrogent: added HnBuffer
Browse files Browse the repository at this point in the history
  • Loading branch information
TheMostDiligent committed Oct 22, 2023
1 parent bd652c0 commit 730d7a2
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Hydrogent/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ set(SOURCE
src/HnMaterial.cpp
src/HnMaterialNetwork.cpp
src/HnMesh.cpp
src/HnBuffer.cpp
src/HnRenderBuffer.cpp
src/HnRenderDelegate.cpp
src/HnRendererImpl.cpp
Expand All @@ -29,6 +30,7 @@ set(INCLUDE
include/HnMaterial.hpp
include/HnMaterialNetwork.hpp
include/HnMesh.hpp
include/HnBuffer.hpp
include/HnRenderBuffer.hpp
include/HnRenderDelegate.hpp
include/HnRendererImpl.hpp
Expand Down
58 changes: 58 additions & 0 deletions Hydrogent/include/HnBuffer.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/*
* Copyright 2023 Diligent Graphics LLC
*
* 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.
*
* In no event and under no legal theory, whether in tort (including negligence),
* contract, or otherwise, unless required by applicable law (such as deliberate
* and grossly negligent acts) or agreed to in writing, shall any Contributor be
* liable for any damages, including any direct, indirect, special, incidental,
* or consequential damages of any character arising as a result of this License or
* out of the use or inability to use the software (including but not limited to damages
* for loss of goodwill, work stoppage, computer failure or malfunction, or any and
* all other commercial damages or losses), even if such Contributor has been advised
* of the possibility of such damages.
*/

#pragma once

#include "pxr/imaging/hd/bprim.h"

#include "../../../DiligentCore/Graphics/GraphicsEngine/interface/Buffer.h"
#include "../../../DiligentCore/Common/interface/RefCntAutoPtr.hpp"

namespace Diligent
{

namespace USD
{

/// Buffer implementation in Hydrogent.
class HnBuffer final : public pxr::HdBprim
{
public:
HnBuffer(const pxr::SdfPath& Id, IBuffer* pBuffer);
~HnBuffer();

IBuffer* GetResource() const
{
return m_pBuffer;
}

private:
RefCntAutoPtr<IBuffer> m_pBuffer;
};

} // namespace USD

} // namespace Diligent
47 changes: 47 additions & 0 deletions Hydrogent/src/HnBuffer.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* Copyright 2023 Diligent Graphics LLC
*
* 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.
*
* In no event and under no legal theory, whether in tort (including negligence),
* contract, or otherwise, unless required by applicable law (such as deliberate
* and grossly negligent acts) or agreed to in writing, shall any Contributor be
* liable for any damages, including any direct, indirect, special, incidental,
* or consequential damages of any character arising as a result of this License or
* out of the use or inability to use the software (including but not limited to damages
* for loss of goodwill, work stoppage, computer failure or malfunction, or any and
* all other commercial damages or losses), even if such Contributor has been advised
* of the possibility of such damages.
*/

#include "HnBuffer.hpp"

namespace Diligent
{

namespace USD
{

HnBuffer::HnBuffer(const pxr::SdfPath& Id, IBuffer* pBuffer) :
pxr::HdBprim{Id},
m_pBuffer{pBuffer}
{
}

HnBuffer::~HnBuffer()
{
}

} // namespace USD

} // namespace Diligent

0 comments on commit 730d7a2

Please sign in to comment.