Irrlicht version: 1.7.2
OS:Windows xp/7
render : Burning's Software Renderer
We are using irrlicht with winforms VC++application mapping big textures (up to 4096*1024) inside a cylinder to make a panoramic viewer. The rendering window is resizable, and every time it's resized, we update the camera's aspect ratio.
The problem: No matter the window's size, some vertical and horizontal black lines appear like a grid over the visualized area. This only happens using Burning's Software Renderer which is the redering mode we need to use.
black lines on bigtexture using Burning'sSoftwareRenderer
We use this way:
http://irrlicht.sourceforge.net/phpBB2/ ... 77420699d9
And this is the way we render the texture:
[/code][/url]
http://irrlicht.sourceforge.net/phpBB2/ ... 77420699d9
And this is the way we render the texture:
Code: Select all
driver->setTextureCreationFlag( ETCF_CREATE_MIP_MAPS, false );
texture = driver->getTexture( dirPano );
const IGeometryCreator* geo = smgr->getGeometryCreator();
IMesh* cyl = geo->createCylinderMesh( radio,altura,32,SColor( 0xffffffff ),false,0.f );
//Permite que se visualice la textura nada más dentro del cilindro
cyl->setMaterialFlag( video::EMF_LIGHTING, false );
cyl->setMaterialFlag( EMF_BACK_FACE_CULLING,false );
cyl->setMaterialFlag( EMF_FRONT_FACE_CULLING,true );
ISceneNode* nodo = smgr->addMeshSceneNode( cyl );
nodo->setMaterialTexture( 0, textura );
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
Ok, two ideas here: Please check a) with mipmaps enabled and b) with front_face culling enabled and back_face culling disabled (hover the camera outside the cone then). I'm nt sure if the reverse projection of the backfaces works properly for burnings video, and the mipmap creation or rendering might be a problem on different distances or due to the large textures.
No matter the mipmaps value.
The problem has been partially solved with the following trick
panelWidth and panelHeight are the visual component width and height respectively, we only reduce a little bit this dimensions when passing them to driver->OnResize(..).
Here we show the result, this is a section of the rendered texture. The black lines have disappear but there is still something like a slight overlapping on some areas of the component panel. This can be seen in the top of the circle.
The problem has been partially solved with the following trick
Code: Select all
driver->OnResize( core::dimension2du( panelWidth [b]- 3[/b], panelHeight [b]- 3 [/b]) );
Here we show the result, this is a section of the rendered texture. The black lines have disappear but there is still something like a slight overlapping on some areas of the component panel. This can be seen in the top of the circle.
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
Yeah, the skip is clearly visible. But the image above is just one texture, correct?! It's not that the borders are not aligned, but the lines come at varying positions *inside* the image!?
The render target size differences are always a problem. Also due to window decoration, sometimes even in usual windows. I'm not sure if windows would return some kind of a correct pixel size for forms and embedded render surfaces. But I guess that for your case the numbers should be pretty stable.
The render target size differences are always a problem. Also due to window decoration, sometimes even in usual windows. I'm not sure if windows would return some kind of a correct pixel size for forms and embedded render surfaces. But I guess that for your case the numbers should be pretty stable.
Re: black lines on bigtexture using Burning'sSoftwareRendere
maybe you guys have to set UV-coords correctly!?
also there should be a texture flag for wrapping in clamp-mode, i use that for skyboxes, if else i get these lines between 2 textures too.
clamp mode uses the last/outer pixels of the image and duplicate them until next drawn polygon.
h.a.n.d.
EDIT: i know people they scaled the UV-coords to 1 one pixel less of the tex, so you have to calculate how big one pixel equals in worldspace,
but if you just have the problem with BURNINGS then i would guess the clampmode is whats messed up.
also there should be a texture flag for wrapping in clamp-mode, i use that for skyboxes, if else i get these lines between 2 textures too.
clamp mode uses the last/outer pixels of the image and duplicate them until next drawn polygon.
h.a.n.d.
EDIT: i know people they scaled the UV-coords to 1 one pixel less of the tex, so you have to calculate how big one pixel equals in worldspace,
but if you just have the problem with BURNINGS then i would guess the clampmode is whats messed up.