mirror of
https://github.com/minetest/irrlicht.git
synced 2025-07-01 15:50:27 +02:00
Drop old shader material functions
I'm not sure what these actually are, but the situation is the same as the last commit.
This commit is contained in:
@ -1642,8 +1642,6 @@ s32 CNullDriver::addHighLevelShaderMaterial(
|
||||
}
|
||||
|
||||
|
||||
//! Like IGPUProgrammingServices::addShaderMaterial() (look there for a detailed description),
|
||||
//! but tries to load the programs from files.
|
||||
s32 CNullDriver::addHighLevelShaderMaterialFromFiles(
|
||||
const io::path& vertexShaderProgramFileName,
|
||||
const c8* vertexShaderEntryPointName,
|
||||
@ -1714,8 +1712,6 @@ s32 CNullDriver::addHighLevelShaderMaterialFromFiles(
|
||||
}
|
||||
|
||||
|
||||
//! Like IGPUProgrammingServices::addShaderMaterial() (look there for a detailed description),
|
||||
//! but tries to load the programs from files.
|
||||
s32 CNullDriver::addHighLevelShaderMaterialFromFiles(
|
||||
io::IReadFile* vertexShaderProgram,
|
||||
const c8* vertexShaderEntryPointName,
|
||||
@ -1791,109 +1787,6 @@ s32 CNullDriver::addHighLevelShaderMaterialFromFiles(
|
||||
}
|
||||
|
||||
|
||||
//! Adds a new material renderer to the VideoDriver, using pixel and/or
|
||||
//! vertex shaders to render geometry.
|
||||
s32 CNullDriver::addShaderMaterial(const c8* vertexShaderProgram,
|
||||
const c8* pixelShaderProgram,
|
||||
IShaderConstantSetCallBack* callback,
|
||||
E_MATERIAL_TYPE baseMaterial,
|
||||
s32 userData)
|
||||
{
|
||||
os::Printer::log("Shader materials not implemented yet in this driver, sorry.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
//! Like IGPUProgrammingServices::addShaderMaterial(), but tries to load the
|
||||
//! programs from files.
|
||||
s32 CNullDriver::addShaderMaterialFromFiles(io::IReadFile* vertexShaderProgram,
|
||||
io::IReadFile* pixelShaderProgram,
|
||||
IShaderConstantSetCallBack* callback,
|
||||
E_MATERIAL_TYPE baseMaterial,
|
||||
s32 userData)
|
||||
{
|
||||
c8* vs = 0;
|
||||
c8* ps = 0;
|
||||
|
||||
if (vertexShaderProgram)
|
||||
{
|
||||
const long size = vertexShaderProgram->getSize();
|
||||
if (size)
|
||||
{
|
||||
vs = new c8[size+1];
|
||||
vertexShaderProgram->read(vs, size);
|
||||
vs[size] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (pixelShaderProgram)
|
||||
{
|
||||
const long size = pixelShaderProgram->getSize();
|
||||
if (size)
|
||||
{
|
||||
ps = new c8[size+1];
|
||||
pixelShaderProgram->read(ps, size);
|
||||
ps[size] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
s32 result = addShaderMaterial(vs, ps, callback, baseMaterial, userData);
|
||||
|
||||
delete [] vs;
|
||||
delete [] ps;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
//! Like IGPUProgrammingServices::addShaderMaterial(), but tries to load the
|
||||
//! programs from files.
|
||||
s32 CNullDriver::addShaderMaterialFromFiles(const io::path& vertexShaderProgramFileName,
|
||||
const io::path& pixelShaderProgramFileName,
|
||||
IShaderConstantSetCallBack* callback,
|
||||
E_MATERIAL_TYPE baseMaterial,
|
||||
s32 userData)
|
||||
{
|
||||
io::IReadFile* vsfile = 0;
|
||||
io::IReadFile* psfile = 0;
|
||||
|
||||
if (vertexShaderProgramFileName.size())
|
||||
{
|
||||
vsfile = FileSystem->createAndOpenFile(vertexShaderProgramFileName);
|
||||
if (!vsfile)
|
||||
{
|
||||
os::Printer::log("Could not open vertex shader program file",
|
||||
vertexShaderProgramFileName, ELL_WARNING);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
if (pixelShaderProgramFileName.size())
|
||||
{
|
||||
psfile = FileSystem->createAndOpenFile(pixelShaderProgramFileName);
|
||||
if (!psfile)
|
||||
{
|
||||
os::Printer::log("Could not open pixel shader program file",
|
||||
pixelShaderProgramFileName, ELL_WARNING);
|
||||
if (vsfile)
|
||||
vsfile->drop();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
s32 result = addShaderMaterialFromFiles(vsfile, psfile, callback,
|
||||
baseMaterial, userData);
|
||||
|
||||
if (psfile)
|
||||
psfile->drop();
|
||||
|
||||
if (vsfile)
|
||||
vsfile->drop();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
//! Creates a render target texture.
|
||||
ITexture* CNullDriver::addRenderTargetTexture(const core::dimension2d<u32>& size,
|
||||
const io::path&name, const ECOLOR_FORMAT format)
|
||||
|
Reference in New Issue
Block a user