LibreOffice Module drawinglayer (master) 1
|
This 3D renderer derived from DefaultProcessor3D renders all fed primitives to a 2D raster bitmap using a Z-Buffer based approach. More...
#include <zbufferprocessor3d.hxx>
Private Member Functions | |
virtual void | rasterconvertB3DPolygon (const attribute::MaterialAttribute3D &rMaterial, const basegfx::B3DPolygon &rHairline) const override |
virtual void | rasterconvertB3DPolyPolygon (const attribute::MaterialAttribute3D &rMaterial, const basegfx::B3DPolyPolygon &rFill) const override |
Private Attributes | |
basegfx::B3DHomMatrix | maInvEyeToView |
inverse of EyeToView for rasterconversion with evtl. Phong shading More... | |
std::unique_ptr< ZBufferRasterConverter3D > | mpZBufferRasterConverter3D |
The raster converter for Z-Buffer. More... | |
sal_uInt16 | mnAntiAlialize |
std::vector< RasterPrimitive3D > | maRasterPrimitive3Ds |
sal_uInt32 | mnStartLine |
sal_uInt32 | mnStopLine |
This 3D renderer derived from DefaultProcessor3D renders all fed primitives to a 2D raster bitmap using a Z-Buffer based approach.
It is able to supersample and to handle transparent content.
Definition at line 47 of file zbufferprocessor3d.hxx.
drawinglayer::processor3d::ZBufferProcessor3D::ZBufferProcessor3D | ( | const geometry::ViewInformation3D & | rViewInformation3D, |
const attribute::SdrSceneAttribute & | rSdrSceneAttribute, | ||
const attribute::SdrLightingAttribute & | rSdrLightingAttribute, | ||
const basegfx::B2DRange & | rVisiblePart, | ||
sal_uInt16 | nAntiAlialize, | ||
double | fFullViewSizeX, | ||
double | fFullViewSizeY, | ||
basegfx::BZPixelRaster & | rBZPixelRaster, | ||
sal_uInt32 | nStartLine, | ||
sal_uInt32 | nStopLine | ||
) |
Definition at line 499 of file zbufferprocessor3d.cxx.
References basegfx::Range2D< typename TYPE, typename TRAITS >::expand(), drawinglayer::geometry::ViewInformation3D::getDeviceToView(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinY(), getOrientation(), drawinglayer::geometry::ViewInformation3D::getProjection(), drawinglayer::processor3d::BaseProcessor3D::getViewInformation3D(), basegfx::BZPixelRaster::getWidth(), basegfx::B3DHomMatrix::invert(), maInvEyeToView, drawinglayer::processor3d::DefaultProcessor3D::maRasterRange, mnAntiAlialize, mpZBufferRasterConverter3D, basegfx::Range2D< typename TYPE, typename TRAITS >::reset(), basegfx::B3DHomMatrix::scale(), basegfx::B3DHomMatrix::translate(), and drawinglayer::processor3d::BaseProcessor3D::updateViewInformation().
|
overridevirtual |
Definition at line 582 of file zbufferprocessor3d.cxx.
References maRasterPrimitive3Ds, and mpZBufferRasterConverter3D.
void drawinglayer::processor3d::ZBufferProcessor3D::finish | ( | ) |
Definition at line 592 of file zbufferprocessor3d.cxx.
References a, basegfx::B3DPolyPolygon::getB3DPolygon(), RasterPrimitive3D::getFilter(), RasterPrimitive3D::getGeoTexSvx(), RasterPrimitive3D::getIsLine(), RasterPrimitive3D::getMaterial(), RasterPrimitive3D::getModulate(), RasterPrimitive3D::getPolyPolygon(), RasterPrimitive3D::getSimpleTextureActive(), RasterPrimitive3D::getTransparenceGeoTexSvx(), maRasterPrimitive3Ds, drawinglayer::processor3d::DefaultProcessor3D::mbFilter, drawinglayer::processor3d::DefaultProcessor3D::mbModulate, drawinglayer::processor3d::DefaultProcessor3D::mbSimpleTextureActive, drawinglayer::processor3d::DefaultProcessor3D::mpGeoTexSvx, drawinglayer::processor3d::DefaultProcessor3D::mpTransparenceGeoTexSvx, rasterconvertB3DPolygon(), and rasterconvertB3DPolyPolygon().
Referenced by drawinglayer::primitive2d::ScenePrimitive2D::create2DDecomposition().
|
overrideprivatevirtual |
Implements drawinglayer::processor3d::DefaultProcessor3D.
Definition at line 416 of file zbufferprocessor3d.cxx.
References drawinglayer::processor3d::DefaultProcessor3D::getFilter(), drawinglayer::processor3d::DefaultProcessor3D::getGeoTexSvx(), drawinglayer::processor3d::DefaultProcessor3D::getModulate(), drawinglayer::processor3d::DefaultProcessor3D::getSimpleTextureActive(), drawinglayer::processor3d::DefaultProcessor3D::getTransparenceCounter(), drawinglayer::processor3d::DefaultProcessor3D::getTransparenceGeoTexSvx(), basegfx::B3DHomMatrix::identity(), SvtOptionsDrawinglayer::IsAntiAliasing(), SvtOptionsDrawinglayer::IsSnapHorVerLinesToDiscrete(), maRasterPrimitive3Ds, mnAntiAlialize, mnStartLine, mnStopLine, mpZBufferRasterConverter3D, basegfx::B3DHomMatrix::scale(), basegfx::utils::snapPointsOfHorizontalOrVerticalEdges(), and basegfx::B3DPolygon::transform().
Referenced by finish().
|
overrideprivatevirtual |
Implements drawinglayer::processor3d::DefaultProcessor3D.
Definition at line 476 of file zbufferprocessor3d.cxx.
References drawinglayer::processor3d::DefaultProcessor3D::getFilter(), drawinglayer::processor3d::DefaultProcessor3D::getGeoTexSvx(), drawinglayer::processor3d::DefaultProcessor3D::getModulate(), drawinglayer::processor3d::DefaultProcessor3D::getSimpleTextureActive(), drawinglayer::processor3d::DefaultProcessor3D::getTransparenceCounter(), drawinglayer::processor3d::DefaultProcessor3D::getTransparenceGeoTexSvx(), maInvEyeToView, maRasterPrimitive3Ds, mnStartLine, mnStopLine, and mpZBufferRasterConverter3D.
Referenced by finish().
|
private |
inverse of EyeToView for rasterconversion with evtl. Phong shading
Definition at line 51 of file zbufferprocessor3d.hxx.
Referenced by rasterconvertB3DPolyPolygon(), and ZBufferProcessor3D().
|
mutableprivate |
Definition at line 64 of file zbufferprocessor3d.hxx.
Referenced by finish(), rasterconvertB3DPolygon(), rasterconvertB3DPolyPolygon(), and ~ZBufferProcessor3D().
|
private |
Definition at line 59 of file zbufferprocessor3d.hxx.
Referenced by rasterconvertB3DPolygon(), and ZBufferProcessor3D().
|
private |
Definition at line 66 of file zbufferprocessor3d.hxx.
Referenced by rasterconvertB3DPolygon(), and rasterconvertB3DPolyPolygon().
|
private |
Definition at line 67 of file zbufferprocessor3d.hxx.
Referenced by rasterconvertB3DPolygon(), and rasterconvertB3DPolyPolygon().
|
private |
The raster converter for Z-Buffer.
Definition at line 54 of file zbufferprocessor3d.hxx.
Referenced by rasterconvertB3DPolygon(), rasterconvertB3DPolyPolygon(), ZBufferProcessor3D(), and ~ZBufferProcessor3D().