}\r
\r
\r
-//! Draws a 3d triangle.\r
-void CNullDriver::draw3DTriangle(const core::triangle3df& triangle, SColor color)\r
-{\r
- S3DVertex vertices[3];\r
- vertices[0].Pos=triangle.pointA;\r
- vertices[0].Color=color;\r
- vertices[0].Normal=triangle.getNormal().normalize();\r
- vertices[0].TCoords.set(0.f,0.f);\r
- vertices[1].Pos=triangle.pointB;\r
- vertices[1].Color=color;\r
- vertices[1].Normal=vertices[0].Normal;\r
- vertices[1].TCoords.set(0.5f,1.f);\r
- vertices[2].Pos=triangle.pointC;\r
- vertices[2].Color=color;\r
- vertices[2].Normal=vertices[0].Normal;\r
- vertices[2].TCoords.set(1.f,0.f);\r
- const u16 indexList[] = {0,1,2};\r
- drawVertexPrimitiveList(vertices, 3, indexList, 1, EVT_STANDARD, scene::EPT_TRIANGLES, EIT_16BIT);\r
-}\r
-\r
-\r
//! Draws a 3d axis aligned box.\r
void CNullDriver::draw3DBox(const core::aabbox3d<f32>& box, SColor color)\r
{\r
}\r
\r
\r
-\r
-//! draws a set of 2d images, using a color and the alpha channel of the\r
-//! texture if desired. The images are drawn beginning at pos and concatenated\r
-//! in one line. All drawings are clipped against clipRect (if != 0).\r
-//! The subtextures are defined by the array of sourceRects and are chosen\r
-//! by the indices given.\r
-void CNullDriver::draw2DImageBatch(const video::ITexture* texture,\r
- const core::position2d<s32>& pos,\r
- const core::array<core::rect<s32> >& sourceRects,\r
- const core::array<s32>& indices,\r
- s32 kerningWidth,\r
- const core::rect<s32>* clipRect, SColor color,\r
- bool useAlphaChannelOfTexture)\r
-{\r
- core::position2d<s32> target(pos);\r
-\r
- for (u32 i=0; i<indices.size(); ++i)\r
- {\r
- draw2DImage(texture, target, sourceRects[indices[i]],\r
- clipRect, color, useAlphaChannelOfTexture);\r
- target.X += sourceRects[indices[i]].getWidth();\r
- target.X += kerningWidth;\r
- }\r
-}\r
-\r
//! draws a set of 2d images, using a color and the alpha channel of the\r
//! texture if desired.\r
void CNullDriver::draw2DImageBatch(const video::ITexture* texture,\r
}\r
\r
\r
-//! Draws the outline of a 2d rectangle\r
-void CNullDriver::draw2DRectangleOutline(const core::recti& pos, SColor color)\r
-{\r
- draw2DLine(pos.UpperLeftCorner, core::position2di(pos.LowerRightCorner.X, pos.UpperLeftCorner.Y), color);\r
- draw2DLine(core::position2di(pos.LowerRightCorner.X, pos.UpperLeftCorner.Y), pos.LowerRightCorner, color);\r
- draw2DLine(pos.LowerRightCorner, core::position2di(pos.UpperLeftCorner.X, pos.LowerRightCorner.Y), color);\r
- draw2DLine(core::position2di(pos.UpperLeftCorner.X, pos.LowerRightCorner.Y), pos.UpperLeftCorner, color);\r
-}\r
-\r
-\r
//! Draw a 2d rectangle\r
void CNullDriver::draw2DRectangle(SColor color, const core::rect<s32>& pos, const core::rect<s32>* clip)\r
{\r
{\r
}\r
\r
-//! Draws a pixel\r
-void CNullDriver::drawPixel(u32 x, u32 y, const SColor & color)\r
-{\r
-}\r
-\r
-\r
-//! Draws a non filled concyclic regular 2d polygon.\r
-void CNullDriver::draw2DPolygon(core::position2d<s32> center,\r
- f32 radius, video::SColor color, s32 count)\r
-{\r
- if (count < 2)\r
- return;\r
-\r
- core::position2d<s32> first;\r
- core::position2d<s32> a,b;\r
-\r
- for (s32 j=0; j<count; ++j)\r
- {\r
- b = a;\r
-\r
- f32 p = j / (f32)count * (core::PI*2);\r
- a = center + core::position2d<s32>((s32)(sin(p)*radius), (s32)(cos(p)*radius));\r
-\r
- if (j==0)\r
- first = a;\r
- else\r
- draw2DLine(a, b, color);\r
- }\r
-\r
- draw2DLine(a, first, color);\r
-}\r
-\r
\r
//! returns color format\r
ECOLOR_FORMAT CNullDriver::getColorFormat() const\r
}\r
\r
\r
-\r
-//! Draws a shadow volume into the stencil buffer. To draw a stencil shadow, do\r
-//! this: First, draw all geometry. Then use this method, to draw the shadow\r
-//! volume. Then, use IVideoDriver::drawStencilShadow() to visualize the shadow.\r
-void CNullDriver::drawStencilShadowVolume(const core::array<core::vector3df>& triangles, bool zfail, u32 debugDataVisible)\r
-{\r
-}\r
-\r
-\r
-//! Fills the stencil shadow with color. After the shadow volume has been drawn\r
-//! into the stencil buffer using IVideoDriver::drawStencilShadowVolume(), use this\r
-//! to draw the color of the shadow.\r
-void CNullDriver::drawStencilShadow(bool clearStencilBuffer,\r
- video::SColor leftUpEdge, video::SColor rightUpEdge,\r
- video::SColor leftDownEdge, video::SColor rightDownEdge)\r
-{\r
-}\r
-\r
-\r
//! Creates a boolean alpha channel of the texture based of an color key.\r
void CNullDriver::makeColorKeyTexture(video::ITexture* texture,\r
video::SColor color,\r