我想在我的项目中进行内存管理.我不希望operator global new/delete所以我实现了一个简单的内存alloctor.这是我的代码:
class IAllocator
{
public:
void* Alloc( unsigned int size )
{
1. alloc memory.
2. trace alloc.
}
void Dealloc( void* ptr )
{
1. free memory.
2. erase trace info.
}
template< typename T >
void Destructor( T* ptr )
{
if ( ptr )
ptr->~T();
}
};
// macro for use easy.
# define MYNEW( T ) new ( g_Allocator->Alloc( sizeof( T ) ) ) T
# define MYDEL( ptr ) if (ptr) { g_Allocator->Destructor(ptr); …Run Code Online (Sandbox Code Playgroud) 我想制作软边水.所以我制作一个渲染目标来保持场景的深度,然后我渲染水几何.
然后喝水 alpha = ( SceneDepth - WaterDepth ) * Scale
看下图的结果,水的边缘被软化了,但它看起来很奇怪,就像一个梯子.
那怎么处理?
非常感谢!
