black lines on bigtexture using Burning'sSoftwareRenderer

You discovered a bug in the engine, and you are sure that it is not a problem of your code? Just post it in here. Please read the bug posting guidelines first.
Post Reply
mariam
Posts: 4
Joined: Tue Jun 21, 2011 4:50 pm

black lines on bigtexture using Burning'sSoftwareRenderer

Post by mariam »

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.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Does these lines occur at special places (i.e. texture borders, twice or four times per texture, ...)? Can you provide screenshots or a test binary and data?
mariam
Posts: 4
Joined: Tue Jun 21, 2011 4:50 pm

Post by mariam »

This problem only happens using irrlicht embedded in a winform vc++ app and rendering with Burning's Software Renderer.
Here we post two screenshots.


Image
Image
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Do you use some of the ways that example 14 uses to render inside Windows GUI elements, or are you using a different embedding?
How do you render the texture, i.e. with which Irrlicht calls?
mariam
Posts: 4
Joined: Tue Jun 21, 2011 4:50 pm

Post by mariam »

We use this way:
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 );
[/code][/url]
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

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.
mariam
Posts: 4
Joined: Tue Jun 21, 2011 4:50 pm

Post by mariam »

No matter the mipmaps value.

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]) );
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.

Image
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

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.
gerdb
Posts: 194
Joined: Wed Dec 02, 2009 8:21 pm
Location: Dresden, Germany

Re: black lines on bigtexture using Burning'sSoftwareRendere

Post by gerdb »

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.
Post Reply