Hello,
I have a quiet weird problem with Intel Core i5 integrated graphics under
Ubuntu:
When I have an element buffer object, that consists of an byte index array,
followed by an ushort index array, wrong triangles will be rendered. (See
wrong_rendering.png, compared to right_rendering.png).
The attached osgt model file consists of two GL_TRIANGLES draw calls, that use
the same buffer object for indices.
DrawElementsUByte::draw size:300 offset: 0
DrawElementsUShort::draw size:861 offset: 300
I modified the code to draw only once of them - either the ubyte array or the
ushort array and in both cases the right triangles are rendered, whereas
rendering fails, when both draw calls are made.
It looks like the driver interprets the ushort indices as byte indices, that
would explain the fan looking triangles, that are drawn. The high byte (0) of
an ushort index would then often be taken as vertex 0 for one of the three
triangle vertices, so their would be many wrong triangles starting from vertex
0 to some other vertices - exactly, as it looks in the attached screen shot of
the wrong rendering.
The same model looks good on a system with Nvidia graphics, it also works on
the Intel GPU, when the arrays reside in different buffer objects, or when
element buffer objects are not used for the vertex indices.
>From the application side, everything looks good inside osg, so I think this
>is a driver bug.
Does anyone who also has integrated Intel grahics under linux can confirm this
bug?
(To verify, just start the osgviewerapp with the attached model file).
Would that samething for the Mesa guys to look at?
Regards,
--Alex
My spec:
Ubuntu 11.04
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) Ironlake Desktop GEM 20100330
DEVELOPMENT x86/MMX/SSE2
OpenGL version string: 2.1 Mesa 7.10.2
OpenGL shading language version string: 1.20
VGA compatible controller:
product: Core Processor Integrated Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 02
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:42 memory:f0000000-f03fffff
memory:e0000000-efffffff ioport:1170(size=8)
CPU:
product: Intel(R) Core(TM) i5 CPU 660 @ 3.33GHz
vendor: Intel Corp.
physical id: 5
bus info: cpu@0
version: 6.5.5
serial: 0002-0655-0000-0000-0000-0000
slot: XU1 PROCESSOR
size: 1199MHz
capacity: 1199MHz
width: 64 bits
clock: 133MHz
capabilities: x86-64 boot fpu fpu_exception wp vme de pse tsc msr pae
mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2
ss ht tm pbe nx rdtscp constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc
aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr
pdcm sse4_1 sse4_2 popcnt aes lahf_lm ida arat tpr_shadow vnmi flexpriority ept
vpid cpufreq
configuration: cores=2 enabledcores=2 id=1 threads=4
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=42748#42748
Attachments:
http://forum.openscenegraph.org//files/optosgt_211.gz
http://forum.openscenegraph.org//files/right_rendering_125.png
http://forum.openscenegraph.org//files/wrong_rendering_148.png
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org