aboutsummaryrefslogtreecommitdiff
path: root/APEX_1.4/module/iofx/include/IofxRenderData.h
diff options
context:
space:
mode:
authorsschirm <[email protected]>2016-12-23 14:20:36 +0100
committersschirm <[email protected]>2016-12-23 14:56:17 +0100
commitef6937e69e8ee3f409cf9d460d5ad300a65d5924 (patch)
tree710426e8daa605551ce3f34b581897011101c30f /APEX_1.4/module/iofx/include/IofxRenderData.h
parentInitial commit: (diff)
downloadphysx-3.4-ef6937e69e8ee3f409cf9d460d5ad300a65d5924.tar.xz
physx-3.4-ef6937e69e8ee3f409cf9d460d5ad300a65d5924.zip
PhysX 3.4 / APEX 1.4 release candidate @21506124
Diffstat (limited to 'APEX_1.4/module/iofx/include/IofxRenderData.h')
-rw-r--r--APEX_1.4/module/iofx/include/IofxRenderData.h711
1 files changed, 0 insertions, 711 deletions
diff --git a/APEX_1.4/module/iofx/include/IofxRenderData.h b/APEX_1.4/module/iofx/include/IofxRenderData.h
deleted file mode 100644
index fde64366..00000000
--- a/APEX_1.4/module/iofx/include/IofxRenderData.h
+++ /dev/null
@@ -1,711 +0,0 @@
-/*
- * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
- *
- * NVIDIA CORPORATION and its licensors retain all intellectual property
- * and proprietary rights in and to this software, related documentation
- * and any modifications thereto. Any use, reproduction, disclosure or
- * distribution of this software and related documentation without an express
- * license agreement from NVIDIA CORPORATION is strictly prohibited.
- */
-
-
-#ifndef __IOFX_RENDER_DATA_H__
-#define __IOFX_RENDER_DATA_H__
-
-#include "ApexUsingNamespace.h"
-#include "PsUserAllocated.h"
-#include "IofxRenderable.h"
-#include "IofxRenderCallback.h"
-#include "UserRenderCallback.h"
-#include "ApexRenderMeshAsset.h"
-#include "UserOpaqueMesh.h"
-#include "RenderAPIIntl.h"
-
-#if APEX_CUDA_SUPPORT
-#include "ApexCuda.h"
-#endif
-
-namespace nvidia
-{
-using namespace apex;
-
-namespace iofx
-{
-
-class IofxActorImpl;
-class IofxScene;
-
-
-class IofxSharedRenderDataBase : public RenderEntityIntl
-{
-public:
- virtual ~IofxSharedRenderDataBase() {}
-
- virtual void updateSemantics(IofxScene& scene, uint32_t semantics, uint32_t maxObjectCount, uint32_t activeObjectCount) = 0;
-
- virtual size_t getRenderBufferSize() const = 0;
-
-#if APEX_CUDA_SUPPORT
- virtual CUdeviceptr getBufferMappedCudaPtr() const = 0;
-#endif
- virtual void* getBufferMappedPtr() const = 0;
-
- PX_INLINE bool checkSemantics(uint32_t semantics) const
- {
- return (semantics & mSemantics) == semantics;
- }
-
- PX_INLINE uint32_t getSemantics() const
- {
- return mSemantics;
- }
-
- PX_INLINE uint32_t getInstanceID() const
- {
- return mInstanceID;
- }
-
- PX_INLINE IofxSharedRenderDataBase* incrementReferenceCount()
- {
- return static_cast<IofxSharedRenderDataBase*>(RenderEntityIntl::incrementReferenceCount());
- }
-
-protected:
- IofxSharedRenderDataBase()
- : mInstanceID(uint32_t(-1))
- , mSemantics(0)
- {
- }
-
- uint32_t mInstanceID;
- uint32_t mSemantics;
-
-private:
- IofxSharedRenderDataBase& operator=(const IofxSharedRenderDataBase&);
-};
-
-template <typename Impl, typename SRDT>
-class IofxSharedRenderDataImpl : public RenderEntityIntlImpl<Impl, IofxSharedRenderDataBase>
-{
-public:
- virtual void updateSemantics(IofxScene& iofxScene, uint32_t newSemantics, uint32_t maxObjectCount, uint32_t activeObjectCount)
- {
- mSharedRenderData.maxObjectCount = maxObjectCount;
- mSharedRenderData.activeObjectCount = activeObjectCount;
-
- if (newSemantics == mSemantics)
- {
- return;
- }
-
- Impl::RenderLayout_t newRenderLayout;
- bool bIsUserDefinedLayout = false;
- if (newSemantics != 0)
- {
- bIsUserDefinedLayout = getImpl()->createRenderLayout(iofxScene, newSemantics, maxObjectCount, newRenderLayout);
- if (getImpl()->getRenderLayout().isTheSameAs(newRenderLayout))
- {
- mSemantics = newSemantics;
- return;
- }
- }
-
- IofxSharedRenderDataImpl::free();
-
- if (newSemantics != 0)
- {
- bool result = false;
- if (bIsUserDefinedLayout)
- {
- //only create render buffer through UserRenderCallback if layout was user defined through IofxRenderCallback!
- IofxRenderCallback* iofxRenderCallback = iofxScene.getIofxRenderCallback();
- if (iofxRenderCallback != NULL)
- {
- result = getImpl()->allocAllRenderStorage(newRenderLayout, iofxRenderCallback);
- }
- }
- if (!result)
- {
- IofxRenderCallbackImpl internalIofxRenderCallback;
- result = getImpl()->allocAllRenderStorage(newRenderLayout, &internalIofxRenderCallback);
- }
- if (result)
- {
- getImpl()->getRenderLayout() = newRenderLayout;
- mSemantics = newSemantics;
- }
- }
- }
-
- virtual void free()
- {
- RenderEntityIntlImpl<Impl, IofxSharedRenderDataBase>::free();
-
- mSemantics = 0;
- getImpl()->getRenderLayout().setDefaults();
- }
-
- virtual void* getBufferMappedPtr() const
- {
- return getImpl()->getRenderBufferState().getMappedPtr();
- }
-#if APEX_CUDA_SUPPORT
- virtual CUdeviceptr getBufferMappedCudaPtr() const
- {
- return getImpl()->getRenderBufferState().getMappedCudaPtr();
- }
-#endif
-
- virtual size_t getRenderBufferSize() const
- {
- return getImpl()->getRenderBufferDesc().size;
- }
-
- typedef SRDT SharedRenderData_t;
-
- PX_INLINE const SharedRenderData_t& getSharedRenderData() const
- {
- return mSharedRenderData;
- }
-
-protected:
- IofxSharedRenderDataImpl(uint32_t instance, RenderInteropFlags::Enum interopFlags)
- : RenderEntityIntlImpl<Impl, IofxSharedRenderDataBase>(interopFlags)
- {
- mInstanceID = instance;
- mSharedRenderData.maxObjectCount = 0;
- mSharedRenderData.activeObjectCount = 0;
- }
-
- SharedRenderData_t mSharedRenderData;
-};
-
-class IofxSharedRenderDataMeshImpl : public IofxSharedRenderDataImpl<IofxSharedRenderDataMeshImpl, IofxMeshSharedRenderData>
-{
-public:
- typedef IofxMeshRenderLayout RenderLayout_t;
-
- IofxSharedRenderDataMeshImpl(uint32_t instance, RenderInteropFlags::Enum interopFlags)
- : IofxSharedRenderDataImpl<IofxSharedRenderDataMeshImpl, IofxMeshSharedRenderData>(instance, interopFlags)
- {
- mSharedRenderData.meshRenderBuffer = NULL;
- }
-
- PX_INLINE const UserRenderBufferDesc& getRenderBufferDesc() const
- {
- return mSharedRenderData.meshRenderLayout.bufferDesc;
- }
- PX_INLINE const RenderBufferStateIntl& getRenderBufferState() const
- {
- return mMeshBufferState;
- }
- PX_INLINE RenderLayout_t& getRenderLayout()
- {
- return mSharedRenderData.meshRenderLayout;
- }
- PX_INLINE const RenderLayout_t& getRenderLayout() const
- {
- return mSharedRenderData.meshRenderLayout;
- }
- //
- PX_INLINE uint32_t getRenderStorageCount() const
- {
- return (mSharedRenderData.meshRenderBuffer != NULL) ? 1u : 0u;
- }
- PX_INLINE RenderStorageStateIntl& getRenderStorage(uint32_t index, UserRenderStorage* &renderStorage, RenderInteropFlags::Enum &interopFlags)
- {
- PX_UNUSED(index);
- PX_ASSERT(index == 0);
- renderStorage = mSharedRenderData.meshRenderBuffer;
- interopFlags = mSharedRenderData.meshRenderLayout.bufferDesc.interopFlags;
- return mMeshBufferState;
- }
- PX_INLINE void onMapRenderStorage(uint32_t index)
- {
- PX_UNUSED(index);
- PX_ASSERT(index == 0);
- mMeshBufferState.setMapRange(0, mSharedRenderData.activeObjectCount * mSharedRenderData.meshRenderLayout.stride);
- }
- //
-
- bool createRenderLayout(IofxScene& iofxScene, uint32_t semantics, uint32_t maxObjectCount, RenderLayout_t& newRenderLayout);
- bool allocAllRenderStorage(const RenderLayout_t& newRenderLayout, IofxRenderCallback* callback);
- void freeAllRenderStorage();
-
-private:
- IofxSharedRenderDataMeshImpl& operator=(const IofxSharedRenderDataMeshImpl&);
-
- RenderBufferStateIntl mMeshBufferState;
-};
-
-class IofxSharedRenderDataSpriteImpl : public IofxSharedRenderDataImpl<IofxSharedRenderDataSpriteImpl, IofxSpriteSharedRenderData>
-{
-public:
- typedef IofxSpriteRenderLayout RenderLayout_t;
-
- IofxSharedRenderDataSpriteImpl(uint32_t instance, RenderInteropFlags::Enum interopFlags)
- : IofxSharedRenderDataImpl<IofxSharedRenderDataSpriteImpl, IofxSpriteSharedRenderData>(instance, interopFlags)
- {
- mSharedRenderData.spriteRenderBuffer = NULL;
- for (uint32_t i = 0; i < IofxSpriteRenderLayout::MAX_SURFACE_COUNT; ++i)
- {
- mSharedRenderData.spriteRenderSurfaces[i] = NULL;
- }
- }
-
- PX_INLINE const UserRenderBufferDesc& getRenderBufferDesc() const
- {
- return mSharedRenderData.spriteRenderLayout.bufferDesc;
- }
- PX_INLINE const RenderBufferStateIntl& getRenderBufferState() const
- {
- return mSpriteBufferState;
- }
- PX_INLINE RenderLayout_t& getRenderLayout()
- {
- return mSharedRenderData.spriteRenderLayout;
- }
- PX_INLINE const RenderLayout_t& getRenderLayout() const
- {
- return mSharedRenderData.spriteRenderLayout;
- }
-
- //
- PX_INLINE uint32_t getRenderStorageCount() const
- {
- if (mSharedRenderData.spriteRenderLayout.surfaceCount > 0)
- {
- return mSharedRenderData.spriteRenderLayout.surfaceCount;
- }
- else
- {
- return (mSharedRenderData.spriteRenderBuffer != NULL) ? 1u : 0u;
- }
- }
- PX_INLINE RenderStorageStateIntl& getRenderStorage(uint32_t index, UserRenderStorage* &renderStorage, RenderInteropFlags::Enum &interopFlags)
- {
- if (mSharedRenderData.spriteRenderLayout.surfaceCount > 0)
- {
- PX_ASSERT(index < mSharedRenderData.spriteRenderLayout.surfaceCount);
- renderStorage = mSharedRenderData.spriteRenderSurfaces[index];
- interopFlags = mSharedRenderData.spriteRenderLayout.surfaceDescs[index].interopFlags;
- return mSpriteSurfaceStateArray[index];
- }
- else
- {
- PX_ASSERT(index == 0);
- renderStorage = mSharedRenderData.spriteRenderBuffer;
- interopFlags = mSharedRenderData.spriteRenderLayout.bufferDesc.interopFlags;
- return mSpriteBufferState;
- }
- }
- PX_INLINE void onMapRenderStorage(uint32_t index)
- {
- if (mSharedRenderData.spriteRenderLayout.surfaceCount == 0)
- {
- PX_UNUSED(index);
- PX_ASSERT(index == 0);
- mSpriteBufferState.setMapRange(0, mSharedRenderData.activeObjectCount * mSharedRenderData.spriteRenderLayout.stride);
- }
- }
- //
-
- bool createRenderLayout(IofxScene& iofxScene, uint32_t semantics, uint32_t maxObjectCount, RenderLayout_t& newRenderLayout);
- bool allocAllRenderStorage(const RenderLayout_t& newRenderLayout, IofxRenderCallback* callback);
- void freeAllRenderStorage();
-
-#if APEX_CUDA_SUPPORT
-
- PX_INLINE CUarray getSurfaceMappedCudaArray(uint32_t index) const
- {
- PX_ASSERT(index < IofxSpriteRenderLayout::MAX_SURFACE_COUNT);
- return mSpriteSurfaceStateArray[index].getMappedCudaArray();
- }
-#endif
-
- PX_INLINE bool getSurfaceMappedInfo(uint32_t index, UserRenderSurface::MappedInfo& mappedInfo) const
- {
- PX_ASSERT(index < IofxSpriteRenderLayout::MAX_SURFACE_COUNT);
- mappedInfo = mSpriteSurfaceStateArray[index].getMappedInfo();
- return mSpriteSurfaceStateArray[index].isMapped();
- }
-
-private:
- IofxSharedRenderDataSpriteImpl& operator=(const IofxSharedRenderDataSpriteImpl&);
-
- RenderBufferStateIntl mSpriteBufferState;
- RenderSurfaceStateIntl mSpriteSurfaceStateArray[IofxSpriteRenderLayout::MAX_SURFACE_COUNT];
-};
-
-
-class IofxRenderableImpl : public IofxRenderable, public UserAllocated, public ApexRWLockable
-{
-public:
- // IofxRenderable methods
- virtual const physx::PxBounds3& getBounds() const
- {
- return mRenderBounds;
- }
-
- virtual void update(IofxSharedRenderDataBase* sharedRenderData, const physx::PxBounds3& bounds, uint32_t startIndex, uint32_t objectCount, uint32_t visibleCount) = 0;
-
- virtual void release()
- {
- bool triggerDelete = false;
- mRefCountLock.lock();
- if (mRefCount > 0)
- {
- triggerDelete = !(--mRefCount);
- }
- mRefCountLock.unlock();
- if (triggerDelete)
- {
- if (mRenderCallback != NULL)
- {
- mRenderCallback->onReleasingIofxRenderable(*this);
- }
- delete this;
- }
- }
-
- // Returns this if successful, NULL otherwise
- IofxRenderable* incrementReferenceCount()
- {
- IofxRenderable* returnValue = NULL;
- mRefCountLock.lock();
- if (mRefCount > 0)
- {
- ++mRefCount;
- returnValue = this;
- }
- mRefCountLock.unlock();
- return returnValue;
- }
-
- PX_INLINE int32_t getReferenceCount() const
- {
- return mRefCount;
- }
-
- virtual ~IofxRenderableImpl()
- {
- WRITE_ZONE();
-
- PX_ASSERT(mRefCount == 0);
- if (mSharedRenderData != NULL)
- {
- mSharedRenderData->release();
- }
- if (mRenderResID != INVALID_RESOURCE_ID)
- {
- //this call decrements resource refCount
- GetInternalApexSDK()->getInternalResourceProvider()->releaseResource(mRenderResID);
- }
- }
-
-protected:
- IofxRenderableImpl(IofxScene* iofxScene)
- : mRefCount(1) // Ref count initialized to 1, assuming that whoever calls this constructor will store a reference
- , mRenderCallback(iofxScene->getIofxRenderCallback())
- , mSharedRenderData(NULL)
- , mRenderResID(INVALID_RESOURCE_ID)
- {
- mRenderBounds.setEmpty();
- }
-
- void initRenderResource(ResID renderResID, IofxCommonRenderData& renderData)
- {
- mRenderResID = renderResID;
- if (mRenderResID != INVALID_RESOURCE_ID)
- {
- ResourceProviderIntl* nrp = GetInternalApexSDK()->getInternalResourceProvider();
- renderData.renderResourceNameSpace = nrp->getResourceNameSpace(mRenderResID);
- renderData.renderResourceName = nrp->getResourceName(mRenderResID);
- renderData.renderResource = nrp->getResource(mRenderResID);
- //this call increments resource refCount
- nrp->setResource(renderData.renderResourceNameSpace, renderData.renderResourceName, renderData.renderResource, true, true);
- }
- else
- {
- renderData.renderResourceNameSpace = renderData.renderResourceName = "";
- renderData.renderResource = NULL;
- }
- }
-
- void update(IofxSharedRenderDataBase* sharedRenderData, const physx::PxBounds3& bounds)
- {
- if (mSharedRenderData != sharedRenderData)
- {
- if (mSharedRenderData != NULL)
- {
- mSharedRenderData->release();
- }
- mSharedRenderData = sharedRenderData->incrementReferenceCount();
- }
- mRenderBounds = bounds;
- if (mRenderCallback != NULL)
- {
- mRenderCallback->onUpdatedIofxRenderable(*this);
- }
- }
-
- volatile int32_t mRefCount;
- AtomicLock mRefCountLock;
-
- IofxRenderCallback* mRenderCallback;
- IofxSharedRenderDataBase* mSharedRenderData;
-
- physx::PxBounds3 mRenderBounds;
-
- ResID mRenderResID;
-
- friend class IofxActorImpl;
-};
-
-class IofxMeshRenderable : public IofxRenderableImpl
-{
-public:
- APEX_RW_LOCKABLE_BOILERPLATE
-
- IofxMeshRenderable(IofxScene* iofxScene, ResID renderResID)
- : IofxRenderableImpl(iofxScene)
- {
- mMeshRenderData.startIndex = mMeshRenderData.objectCount = 0;
- mMeshRenderData.sharedRenderData = NULL;
-
- initRenderResource(renderResID, mMeshRenderData);
- ApexRenderMeshAsset* rma = static_cast<ApexRenderMeshAsset*>(static_cast<Asset*>(mMeshRenderData.renderResource));
- if (rma != NULL)
- {
- UserOpaqueMesh* opaqueMesh = rma->getOpaqueMesh();
- if (opaqueMesh != NULL)
- {
- //this call increments resource refCount
- GetInternalApexSDK()->getInternalResourceProvider()->setResource(APEX_OPAQUE_MESH_NAME_SPACE, rma->getName(), opaqueMesh, true, true);
- }
- }
-
- if (mRenderCallback != NULL)
- {
- mRenderCallback->onCreatedIofxRenderable(*this);
- }
- }
-
- virtual ~IofxMeshRenderable()
- {
- ApexRenderMeshAsset* rma = static_cast<ApexRenderMeshAsset*>(static_cast<Asset*>(mMeshRenderData.renderResource));
- if (rma != NULL)
- {
- UserOpaqueMesh* opaqueMesh = rma->getOpaqueMesh();
- if (opaqueMesh != NULL)
- {
- //this call decrements resource refCount
- GetInternalApexSDK()->getNamedResourceProvider()->releaseResource(APEX_OPAQUE_MESH_NAME_SPACE, rma->getName());
- }
- }
- }
-
- // IofxRenderableImpl methods
- virtual void update(IofxSharedRenderDataBase* sharedRenderData, const physx::PxBounds3& bounds, uint32_t startIndex, uint32_t objectCount, uint32_t visibleCount)
- {
- mMeshRenderData.startIndex = startIndex;
- mMeshRenderData.objectCount = objectCount;
- PX_UNUSED(visibleCount);
- mMeshRenderData.sharedRenderData = &(static_cast<IofxSharedRenderDataMeshImpl*>(sharedRenderData)->getSharedRenderData());
- IofxRenderableImpl::update(sharedRenderData, bounds);
- }
-
- virtual Type getType() const
- {
- return IofxRenderable::MESH;
- }
-
- virtual const IofxSpriteRenderData* getSpriteRenderData() const
- {
- return NULL;
- }
-
- virtual const IofxMeshRenderData* getMeshRenderData() const
- {
- return &mMeshRenderData;
- }
-
-private:
- IofxMeshRenderData mMeshRenderData;
-};
-
-class IofxSpriteRenderable : public IofxRenderableImpl
-{
-public:
- APEX_RW_LOCKABLE_BOILERPLATE
-
- IofxSpriteRenderable(IofxScene* iofxScene, ResID renderResID)
- : IofxRenderableImpl(iofxScene)
- {
- mSpriteRenderData.startIndex = mSpriteRenderData.objectCount = 0;
- mSpriteRenderData.visibleCount = 0;
- mSpriteRenderData.sharedRenderData = NULL;
-
- initRenderResource(renderResID, mSpriteRenderData);
-
- if (mRenderCallback != NULL)
- {
- mRenderCallback->onCreatedIofxRenderable(*this);
- }
- }
-
- virtual void update(IofxSharedRenderDataBase* sharedRenderData, const physx::PxBounds3& bounds, uint32_t startIndex, uint32_t objectCount, uint32_t visibleCount)
- {
- mSpriteRenderData.startIndex = startIndex;
- mSpriteRenderData.objectCount = objectCount;
- mSpriteRenderData.visibleCount = visibleCount;
- mSpriteRenderData.sharedRenderData = &(static_cast<IofxSharedRenderDataSpriteImpl*>(sharedRenderData)->getSharedRenderData());
- IofxRenderableImpl::update(sharedRenderData, bounds);
- }
-
- virtual Type getType() const
- {
- return IofxRenderable::SPRITE;
- }
-
- virtual const IofxSpriteRenderData* getSpriteRenderData() const
- {
- return &mSpriteRenderData;
- }
-
- virtual const IofxMeshRenderData* getMeshRenderData() const
- {
- return NULL;
- }
-
-private:
- IofxSpriteRenderData mSpriteRenderData;
-};
-
-
-class IofxRenderBuffer : public UserRenderBuffer, public UserAllocated
-{
-public:
- IofxRenderBuffer(const UserRenderBufferDesc& desc)
- {
- mData = shdfnd::getAllocator().allocate(desc.size, "", __FILE__, __LINE__);
- if (mData == NULL)
- {
- PX_ASSERT(!"IofxRenderBuffer: failed to allocate CPU memory!");
- }
- }
-
- virtual ~IofxRenderBuffer()
- {
- if (mData)
- {
- shdfnd::getAllocator().deallocate(mData);
- mData = NULL;
- }
- }
-
- virtual void release()
- {
- PX_DELETE(this);
- }
-
- //CPU access
- virtual void* map(RenderMapType::Enum mapType, size_t offset, size_t size)
- {
- PX_UNUSED(mapType);
- PX_UNUSED(size);
- return mData ? static_cast<uint8_t*>(mData) + offset : NULL;
- }
- virtual void unmap()
- {
- //do nothing!
- }
-
- //GPU access
- virtual bool getCUDAgraphicsResource(CUgraphicsResource &ret)
- {
- PX_UNUSED(ret);
- return false;
- }
-
-private:
- void* mData;
-};
-
-
-class IofxRenderSurface : public UserRenderSurface, public UserAllocated
-{
-public:
- IofxRenderSurface(const UserRenderSurfaceDesc& desc)
- {
- mPitch = uint32_t(desc.width) * RenderDataFormat::getFormatDataSize(desc.format);
- mData = shdfnd::getAllocator().allocate(mPitch * desc.height, "", __FILE__, __LINE__);
- if (mData == 0)
- {
- PX_ASSERT(!"IofxRenderSurface: failed to allocate CPU memory!");
- }
- }
-
- virtual ~IofxRenderSurface()
- {
- if (mData)
- {
- shdfnd::getAllocator().deallocate(mData);
- mData = 0;
- }
- }
-
- virtual void release()
- {
- PX_DELETE(this);
- }
-
- //CPU access
- virtual bool map(RenderMapType::Enum mapType, MappedInfo& info)
- {
- PX_UNUSED(mapType);
- PX_ASSERT(mapType == RenderMapType::MAP_READ);
- if (mData)
- {
- info.pData= mData;
- info.rowPitch = mPitch;
- info.depthPitch = 0;
- return true;
- }
- return false;
- }
- virtual void unmap()
- {
- //do nothing!
- }
-
- //GPU access
- virtual bool getCUDAgraphicsResource(CUgraphicsResource &ret)
- {
- PX_UNUSED(ret);
- return false;
- }
-
-private:
- void* mData;
- uint32_t mPitch;
-};
-
-class IofxRenderCallbackImpl : public IofxRenderCallback
-{
-public:
- virtual UserRenderBuffer* createRenderBuffer(const UserRenderBufferDesc& desc)
- {
- return PX_NEW(IofxRenderBuffer)(desc);
- }
- virtual UserRenderSurface* createRenderSurface(const UserRenderSurfaceDesc& desc)
- {
- return PX_NEW(IofxRenderSurface)(desc);
- }
-};
-
-
-}
-} // namespace nvidia
-
-#endif /* __IOFX_RENDER_DATA_H__ */