mirror of
https://github.com/minetest/minetest.git
synced 2024-07-04 15:05:27 +02:00
Replaced C-style cast of void* vertices to static_cast, reverted adding emissive color to GenericCAO
This commit is contained in:
parent
d3b63ba06f
commit
b08ee987a6
@ -926,7 +926,7 @@ void GenericCAO::setNodeLight(const video::SColor &light_color)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*if (m_enable_shaders) {
|
if (m_enable_shaders) {
|
||||||
if (m_prop.visual == "upright_sprite") {
|
if (m_prop.visual == "upright_sprite") {
|
||||||
if (!m_meshnode)
|
if (!m_meshnode)
|
||||||
return;
|
return;
|
||||||
@ -942,7 +942,7 @@ void GenericCAO::setNodeLight(const video::SColor &light_color)
|
|||||||
material.EmissiveColor = light_color;
|
material.EmissiveColor = light_color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {*/
|
} else {
|
||||||
if (m_meshnode) {
|
if (m_meshnode) {
|
||||||
setMeshColor(m_meshnode->getMesh(), light_color);
|
setMeshColor(m_meshnode->getMesh(), light_color);
|
||||||
} else if (m_animated_meshnode) {
|
} else if (m_animated_meshnode) {
|
||||||
@ -950,7 +950,7 @@ void GenericCAO::setNodeLight(const video::SColor &light_color)
|
|||||||
} else if (m_spritenode) {
|
} else if (m_spritenode) {
|
||||||
m_spritenode->setColor(light_color);
|
m_spritenode->setColor(light_color);
|
||||||
}
|
}
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
u16 GenericCAO::getLightPosition(v3s16 *pos)
|
u16 GenericCAO::getLightPosition(v3s16 *pos)
|
||||||
|
@ -850,7 +850,7 @@ bool MapBlockMesh::animate(bool faraway, float time, int crack,
|
|||||||
mesh->setDirty(scene::EBT_VERTEX); // force reload to VBO
|
mesh->setDirty(scene::EBT_VERTEX); // force reload to VBO
|
||||||
scene::IMeshBuffer *buf = mesh->
|
scene::IMeshBuffer *buf = mesh->
|
||||||
getMeshBuffer(daynight_diff.first.second);
|
getMeshBuffer(daynight_diff.first.second);
|
||||||
video::S3DVertexTangents *vertices = (video::S3DVertexTangents*)buf->getVertices();
|
video::S3DVertexTangents *vertices = static_cast<video::S3DVertexTangents*>(buf->getVertices());
|
||||||
|
|
||||||
for (const auto &j : daynight_diff.second)
|
for (const auto &j : daynight_diff.second)
|
||||||
final_color_blend(&(vertices[j.first].Color), j.second,
|
final_color_blend(&(vertices[j.first].Color), j.second,
|
||||||
|
@ -25,6 +25,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include <IAnimatedMesh.h>
|
#include <IAnimatedMesh.h>
|
||||||
#include <SAnimatedMesh.h>
|
#include <SAnimatedMesh.h>
|
||||||
#include <IAnimatedMeshSceneNode.h>
|
#include <IAnimatedMeshSceneNode.h>
|
||||||
|
#include <array>
|
||||||
|
|
||||||
inline static void applyShadeFactor(video::SColor& color, float factor)
|
inline static void applyShadeFactor(video::SColor& color, float factor)
|
||||||
{
|
{
|
||||||
@ -161,7 +162,7 @@ void scaleMesh(scene::IMesh *mesh, v3f scale)
|
|||||||
u32 mc = mesh->getMeshBufferCount();
|
u32 mc = mesh->getMeshBufferCount();
|
||||||
for (u32 j = 0; j < mc; j++) {
|
for (u32 j = 0; j < mc; j++) {
|
||||||
scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
|
scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
|
||||||
video::S3DVertex *vertices = (video::S3DVertex*)buf->getVertices();
|
video::S3DVertex *vertices = static_cast<video::S3DVertex*>(buf->getVertices());
|
||||||
for (u32 i = 0; i < buf->getVertexCount(); i++)
|
for (u32 i = 0; i < buf->getVertexCount(); i++)
|
||||||
vertices[i].Pos *= scale;
|
vertices[i].Pos *= scale;
|
||||||
|
|
||||||
@ -187,7 +188,7 @@ void scaleMeshTangents(scene::IMesh *mesh, v3f scale)
|
|||||||
u32 mc = mesh->getMeshBufferCount();
|
u32 mc = mesh->getMeshBufferCount();
|
||||||
for (u32 j = 0; j < mc; j++) {
|
for (u32 j = 0; j < mc; j++) {
|
||||||
scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
|
scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
|
||||||
video::S3DVertexTangents *vertices = (video::S3DVertexTangents*)buf->getVertices();
|
video::S3DVertexTangents *vertices = static_cast<video::S3DVertexTangents*>(buf->getVertices());
|
||||||
for (u32 i = 0; i < buf->getVertexCount(); i++)
|
for (u32 i = 0; i < buf->getVertexCount(); i++)
|
||||||
vertices[i].Pos *= scale;
|
vertices[i].Pos *= scale;
|
||||||
|
|
||||||
@ -213,7 +214,7 @@ void translateMeshTangents(scene::IMesh *mesh, v3f vec)
|
|||||||
u32 mc = mesh->getMeshBufferCount();
|
u32 mc = mesh->getMeshBufferCount();
|
||||||
for (u32 j = 0; j < mc; j++) {
|
for (u32 j = 0; j < mc; j++) {
|
||||||
scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
|
scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
|
||||||
video::S3DVertex *vertices = (video::S3DVertexTangents*)buf->getVertices();
|
video::S3DVertexTangents *vertices = static_cast<video::S3DVertexTangents*>(buf->getVertices());
|
||||||
for (u32 i = 0; i < buf->getVertexCount(); i++)
|
for (u32 i = 0; i < buf->getVertexCount(); i++)
|
||||||
vertices[i].Pos += vec;
|
vertices[i].Pos += vec;
|
||||||
|
|
||||||
@ -230,7 +231,7 @@ void translateMeshTangents(scene::IMesh *mesh, v3f vec)
|
|||||||
|
|
||||||
void setMeshBufferColor(scene::IMeshBuffer *buf, const video::SColor &color)
|
void setMeshBufferColor(scene::IMeshBuffer *buf, const video::SColor &color)
|
||||||
{
|
{
|
||||||
video::S3DVertex *vertices = (video::S3DVertex*)buf->getVertices();
|
video::S3DVertex *vertices = static_cast<video::S3DVertex*>(buf->getVertices());
|
||||||
for (u32 i = 0; i < buf->getVertexCount(); i++)
|
for (u32 i = 0; i < buf->getVertexCount(); i++)
|
||||||
vertices[i].Color = color;
|
vertices[i].Color = color;
|
||||||
}
|
}
|
||||||
@ -238,7 +239,7 @@ void setMeshBufferColor(scene::IMeshBuffer *buf, const video::SColor &color)
|
|||||||
void setMeshBufferTangentsColor(scene::IMeshBuffer *buf,
|
void setMeshBufferTangentsColor(scene::IMeshBuffer *buf,
|
||||||
const video::SColor &color, const video::SColor &hw_color)
|
const video::SColor &color, const video::SColor &hw_color)
|
||||||
{
|
{
|
||||||
video::S3DVertexTangents *vertices = (video::S3DVertexTangents*)buf->getVertices();
|
video::S3DVertexTangents *vertices = static_cast<video::S3DVertexTangents*>(buf->getVertices());
|
||||||
|
|
||||||
for (u32 i = 0; i < buf->getVertexCount(); i++) {
|
for (u32 i = 0; i < buf->getVertexCount(); i++) {
|
||||||
vertices[i].Color = color;
|
vertices[i].Color = color;
|
||||||
@ -262,20 +263,10 @@ void setMeshColor(scene::IMesh *mesh, const video::SColor &color)
|
|||||||
setMeshBufferColor(mesh->getMeshBuffer(j), color);
|
setMeshBufferColor(mesh->getMeshBuffer(j), color);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*void setMeshTangentsColor(scene::IMesh *mesh, const video::SColor &color,
|
|
||||||
const video::SColor &hw_color)
|
|
||||||
{
|
|
||||||
if (!mesh)
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (u32 j = 0; j < mesh->getMeshBufferCount(); j++)
|
|
||||||
setMeshBufferTangentsColor(mesh->getMeshBuffer(j), color, hw_color);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
void setMeshBufferTextureCoords(scene::IMeshBuffer *buf, const v2f *uv, u32 count)
|
void setMeshBufferTextureCoords(scene::IMeshBuffer *buf, const v2f *uv, u32 count)
|
||||||
{
|
{
|
||||||
assert(buf->getVertexCount() >= count);
|
assert(buf->getVertexCount() >= count);
|
||||||
video::S3DVertex *vertices = (video::S3DVertex*)buf->getVertices();
|
video::S3DVertex *vertices = static_cast<video::S3DVertex*>(buf->getVertices());
|
||||||
for (u32 i = 0; i < count; i++)
|
for (u32 i = 0; i < count; i++)
|
||||||
vertices[i].TCoords = uv[i];
|
vertices[i].TCoords = uv[i];
|
||||||
}
|
}
|
||||||
@ -285,7 +276,7 @@ static void applyToMesh(scene::IMesh *mesh, const F &fn)
|
|||||||
{
|
{
|
||||||
for (u16 j = 0; j < mesh->getMeshBufferCount(); j++) {
|
for (u16 j = 0; j < mesh->getMeshBufferCount(); j++) {
|
||||||
scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
|
scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
|
||||||
T *vertices = (T*)buf->getVertices();
|
T *vertices = static_cast<T*>(buf->getVertices());
|
||||||
for (u32 i = 0; i < buf->getVertexCount(); i++)
|
for (u32 i = 0; i < buf->getVertexCount(); i++)
|
||||||
fn(&vertices[i]);
|
fn(&vertices[i]);
|
||||||
}
|
}
|
||||||
@ -293,7 +284,7 @@ static void applyToMesh(scene::IMesh *mesh, const F &fn)
|
|||||||
|
|
||||||
void colorizeMeshBufferTangents(scene::IMeshBuffer *buf, const video::SColor *buffercolor)
|
void colorizeMeshBufferTangents(scene::IMeshBuffer *buf, const video::SColor *buffercolor)
|
||||||
{
|
{
|
||||||
video::S3DVertexTangents *vertices = (video::S3DVertexTangents*)buf->getVertices();
|
video::S3DVertexTangents *vertices = static_cast<video::S3DVertexTangents*>(buf->getVertices());
|
||||||
for (u32 i = 0; i < buf->getVertexCount(); i++) {
|
for (u32 i = 0; i < buf->getVertexCount(); i++) {
|
||||||
video::S3DVertexTangents *vertex = &vertices[i];
|
video::S3DVertexTangents *vertex = &vertices[i];
|
||||||
video::SColor *vc = &(vertex->Color);
|
video::SColor *vc = &(vertex->Color);
|
||||||
@ -415,7 +406,7 @@ scene::IMeshBuffer* cloneMeshBuffer(scene::IMeshBuffer *mesh_buffer)
|
|||||||
{
|
{
|
||||||
switch (mesh_buffer->getVertexType()) {
|
switch (mesh_buffer->getVertexType()) {
|
||||||
case video::EVT_STANDARD: {
|
case video::EVT_STANDARD: {
|
||||||
video::S3DVertex *v = (video::S3DVertex*)mesh_buffer->getVertices();
|
video::S3DVertex *v = static_cast<video::S3DVertex*>(mesh_buffer->getVertices());
|
||||||
u16 *indices = mesh_buffer->getIndices();
|
u16 *indices = mesh_buffer->getIndices();
|
||||||
scene::SMeshBuffer *cloned_buffer = new scene::SMeshBuffer();
|
scene::SMeshBuffer *cloned_buffer = new scene::SMeshBuffer();
|
||||||
cloned_buffer->append(v, mesh_buffer->getVertexCount(), indices,
|
cloned_buffer->append(v, mesh_buffer->getVertexCount(), indices,
|
||||||
@ -424,7 +415,7 @@ scene::IMeshBuffer* cloneMeshBuffer(scene::IMeshBuffer *mesh_buffer)
|
|||||||
}
|
}
|
||||||
case video::EVT_2TCOORDS: {
|
case video::EVT_2TCOORDS: {
|
||||||
video::S3DVertex2TCoords *v =
|
video::S3DVertex2TCoords *v =
|
||||||
(video::S3DVertex2TCoords*)mesh_buffer->getVertices();
|
static_cast<video::S3DVertex2TCoords*>(mesh_buffer->getVertices());
|
||||||
u16 *indices = mesh_buffer->getIndices();
|
u16 *indices = mesh_buffer->getIndices();
|
||||||
scene::SMeshBufferLightMap *cloned_buffer =
|
scene::SMeshBufferLightMap *cloned_buffer =
|
||||||
new scene::SMeshBufferLightMap();
|
new scene::SMeshBufferLightMap();
|
||||||
@ -434,7 +425,7 @@ scene::IMeshBuffer* cloneMeshBuffer(scene::IMeshBuffer *mesh_buffer)
|
|||||||
}
|
}
|
||||||
case video::EVT_TANGENTS: {
|
case video::EVT_TANGENTS: {
|
||||||
video::S3DVertexTangents *v =
|
video::S3DVertexTangents *v =
|
||||||
(video::S3DVertexTangents*)mesh_buffer->getVertices();
|
static_cast<video::S3DVertexTangents*>(mesh_buffer->getVertices());
|
||||||
u16 *indices = mesh_buffer->getIndices();
|
u16 *indices = mesh_buffer->getIndices();
|
||||||
scene::SMeshBufferTangents *cloned_buffer =
|
scene::SMeshBufferTangents *cloned_buffer =
|
||||||
new scene::SMeshBufferTangents();
|
new scene::SMeshBufferTangents();
|
||||||
|
Loading…
Reference in New Issue
Block a user