mirror of
https://github.com/rrika/cdcEngineDXHR.git
synced 2025-02-19 21:30:28 +00:00
add RenderExternalResource
This commit is contained in:
parent
61561846da
commit
358a7c271a
@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include "CommonMaterial.h"
|
||||
#include "PCDX11RenderExternalResource.h"
|
||||
#include "surfaces/PCDX11BitmapTexture.h"
|
||||
#include "buffers/PCDX11StaticConstantBuffer.h"
|
||||
|
||||
@ -10,11 +11,9 @@ struct MeshTab0Ext128Sub10;
|
||||
struct VertexAttributeLayoutA;
|
||||
|
||||
class PCDX11Material :
|
||||
public CommonMaterial
|
||||
// public PCDX11RenderExternalResource
|
||||
public CommonMaterial,
|
||||
public PCDX11RenderExternalResource
|
||||
{
|
||||
PCDX11RenderDevice *renderDevice; // 14
|
||||
|
||||
unsigned short numTextures = 0; // 1C
|
||||
unsigned short texBits = 0; // 1E
|
||||
// PCDX11BitmapTexture *texture[4]; // 20
|
||||
@ -22,7 +21,7 @@ class PCDX11Material :
|
||||
PCDX11StaticConstantBuffer *constantBuffersVs[16]; // 70
|
||||
public:
|
||||
PCDX11Material(PCDX11RenderDevice *renderDevice) :
|
||||
renderDevice(renderDevice)
|
||||
PCDX11RenderExternalResource(renderDevice)
|
||||
{}
|
||||
|
||||
void load(MaterialBlob *) override;
|
||||
|
16
rendering/PCDX11RenderExternalResource.h
Normal file
16
rendering/PCDX11RenderExternalResource.h
Normal file
@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
#include "RenderExternalResource.h"
|
||||
|
||||
namespace cdc {
|
||||
|
||||
class PCDX11RenderDevice;
|
||||
|
||||
class PCDX11RenderExternalResource : public RenderExternalResource {
|
||||
public:
|
||||
PCDX11RenderDevice *renderDevice;
|
||||
PCDX11RenderExternalResource(PCDX11RenderDevice *renderDevice)
|
||||
: renderDevice(renderDevice)
|
||||
{}
|
||||
};
|
||||
|
||||
}
|
@ -10,8 +10,7 @@ namespace cdc {
|
||||
|
||||
PCDX11RenderModel::PCDX11RenderModel(PCDX11RenderDevice *renderDevice, uint32_t size) :
|
||||
RenderMesh(),
|
||||
// RenderExternalResource(renderDevice),
|
||||
renderDevice(renderDevice),
|
||||
PCDX11RenderExternalResource(renderDevice),
|
||||
size(size)
|
||||
{
|
||||
meshHeader = (MeshHeader*)new char[size];
|
||||
|
@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
#include "RenderMesh.h"
|
||||
// #include "PCDX11RenderExternalResource.h"
|
||||
#include "PCDX11RenderExternalResource.h"
|
||||
|
||||
namespace cdc {
|
||||
|
||||
@ -8,12 +8,10 @@ class PCDX11RenderDevice;
|
||||
class PCDX11SimpleStaticIndexBuffer;
|
||||
|
||||
class PCDX11RenderModel :
|
||||
public RenderMesh
|
||||
// public PCDX11RenderExternalResource
|
||||
public RenderMesh,
|
||||
public PCDX11RenderExternalResource
|
||||
{
|
||||
public:
|
||||
PCDX11RenderDevice *renderDevice; // in PCDX11RenderExternalResource
|
||||
|
||||
uint32_t size;
|
||||
|
||||
MeshHeader *meshHeader;
|
||||
|
@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include "CommonRenderModelInstance.h"
|
||||
#include "PCDX11RenderExternalResource.h"
|
||||
#include "PCDX11RenderModel.h" // for cast from PCDX11RenderModel* to RenderMesh*
|
||||
|
||||
namespace cdc {
|
||||
@ -8,15 +9,14 @@ class PCDX11RenderDevice;
|
||||
class PCDX11RenderModel;
|
||||
|
||||
class PCDX11RenderModelInstance :
|
||||
public CommonRenderModelInstance
|
||||
// public PCDX11RenderExternalResource
|
||||
public CommonRenderModelInstance,
|
||||
public PCDX11RenderExternalResource
|
||||
{
|
||||
PCDX11RenderDevice *renderDevice; // part of CommonRenderModelInstance
|
||||
PCDX11RenderModel *renderModel;
|
||||
public:
|
||||
PCDX11RenderModelInstance(PCDX11RenderModel *renderModel, PCDX11RenderDevice *renderDevice) :
|
||||
CommonRenderModelInstance(renderModel),
|
||||
renderDevice(renderDevice)
|
||||
PCDX11RenderExternalResource(renderDevice)
|
||||
{
|
||||
baseMask = 1; // hack
|
||||
}
|
||||
|
12
rendering/RenderExternalResource.h
Normal file
12
rendering/RenderExternalResource.h
Normal file
@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
// #include "../types.h"
|
||||
|
||||
namespace cdc {
|
||||
|
||||
class RenderExternalResource {
|
||||
// uint32_t dword4;
|
||||
public:
|
||||
virtual ~RenderExternalResource() = default;
|
||||
};
|
||||
|
||||
}
|
@ -8,6 +8,8 @@ PCDX11ShaderLib::PCDX11ShaderLib(
|
||||
PCDX11ShaderLib::Type type,
|
||||
PCDX11RenderDevice *renderDevice,
|
||||
bool wineWorkaround)
|
||||
:
|
||||
PCDX11RenderExternalResource(renderDevice)
|
||||
{
|
||||
buffer = nullptr;
|
||||
switch (type) {
|
||||
|
@ -1,14 +1,15 @@
|
||||
#pragma once
|
||||
#include "PCDX11ShaderTable.h"
|
||||
#include "../PCDX11RenderExternalResource.h"
|
||||
#include "IShaderLib.h"
|
||||
#include "PCDX11ShaderTable.h"
|
||||
|
||||
namespace cdc {
|
||||
|
||||
class PCDX11RenderDevice;
|
||||
|
||||
class PCDX11ShaderLib :
|
||||
public IShaderLib
|
||||
/* public PCDX11RenderExternalResource */
|
||||
public IShaderLib,
|
||||
public PCDX11RenderExternalResource
|
||||
{
|
||||
public:
|
||||
enum Type {
|
||||
@ -21,6 +22,7 @@ public:
|
||||
|
||||
PCDX11ShaderLib(uint32_t size, PCDX11RenderDevice *renderDevice) :
|
||||
IShaderLib(),
|
||||
PCDX11RenderExternalResource(renderDevice),
|
||||
table(nullptr)
|
||||
{
|
||||
buffer = new char[size];
|
||||
|
@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
#include "TextureMap.h"
|
||||
#include "../PCDX11RenderExternalResource.h"
|
||||
#include "PCDX11BitmapTexture.h"
|
||||
// #include "PCDX11RenderExternalResource.h"
|
||||
#include "TextureMap.h"
|
||||
#include <d3d11_1.h>
|
||||
|
||||
namespace cdc {
|
||||
@ -35,8 +35,8 @@ struct TextureBlob {
|
||||
|
||||
class PCDX11Texture :
|
||||
public TextureMap,
|
||||
public PCDX11BitmapTexture
|
||||
// public PCDX11RenderExternalResource
|
||||
public PCDX11BitmapTexture,
|
||||
public PCDX11RenderExternalResource
|
||||
{
|
||||
public:
|
||||
uint32_t width; // 18
|
||||
@ -58,8 +58,8 @@ public:
|
||||
public:
|
||||
PCDX11Texture(PCDX11RenderDevice *renderDevice) :
|
||||
TextureMap(),
|
||||
PCDX11BitmapTexture(renderDevice, 0, 0, 256, 0)
|
||||
// PCDX11RenderExternalResource(renderDevice)
|
||||
PCDX11BitmapTexture(renderDevice, 0, 0, 256, 0),
|
||||
PCDX11RenderExternalResource(renderDevice)
|
||||
{}
|
||||
|
||||
// for RenderResource
|
||||
|
Loading…
x
Reference in New Issue
Block a user