View Issue Details

IDProjectCategoryView StatusLast Update
0001246FreeCADBugpublic2013-10-21 06:13
Reporterrfluck Assigned Towmayer  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version0.13 
Fixed in Version0.14 
Summary0001246: Constraint datum dimension label shown as gray box vice number in transparent background.
DescriptionI have loaded both versions 0.13 and 0.14 on two different windows XP sp3 machines, one desktop and one laptop. In sketcher when dimensioning length, radius, or any labeled constraints, the datum label is shown only as a gray box with no font or text. Image is included to show you what I mean.
TagsNo tags attached.
FreeCAD Information

Relationships

has duplicate 0001255 closedwmayer Sketcher Grey boxes instead of dimensions in sketch editor. 

Activities

2013-09-20 20:14

 

DatumLabelNotShowing.png (Attachment missing)

wmayer

2013-09-21 11:10

administrator   ~0003601

Might be a graphic driver problem.

rfluck

2013-09-21 12:38

reporter   ~0003607

This happens on two different machines. I would understand a graph driver problem on one, but not on two.

wmayer

2013-09-21 17:36

administrator   ~0003616

I have installed a fresh WinXP as a virtual system. When running FreeCAD the first time I had the same grey boxes. But after activating 3D hardware acceleration it worked. So, try to activate 3D hardware acceleration on your systems.

bejant

2013-09-21 20:08

reporter   ~0003619

I had the same problem and indeed it is a graphics driver problem, or in my case on-board graphics. See this forum thread:
http://forum.freecadweb.org/viewtopic.php?f=3&t=4362#p34226

2013-09-23 13:23

 

DatumLabelNotShowing2.png (Attachment missing)

rfluck

2013-09-23 13:25

reporter   ~0003640

I have insured that the hardware acceleration for both machines is on and that the drivers are up to date with the newest and greatest, at least according to the manufacturers, still to no avail - I still have grayed out text in constraint dimensions on both systems. Interestingly enough, the desktop system runs Blender 2.68a very well with no artifacts.

One thing of note is that draft dimensions show well in both 0.13 and 0.14 in both 2D and 3D space on both systems (see: DatumLabelNotShowing2.png); so I guess the big question in my mind is what is the difference between draft dimension text and constraint dimension text, that constraint text show as gray boxes and draft text shows as expected. Thank you for your help.

wmayer

2013-09-23 13:33

administrator   ~0003641

Draft dimensions are really text nodes while the sketcher internally converts the text into images and shows that instead. This is done because of greater flexibility.

normandc

2013-09-25 23:10

manager   ~0003672

What are the graphics chips / cards on the laptop and desktop?

I've seen this multiple times on the forum, and in all cases it was a graphics driver issue.

yorik

2013-09-26 11:37

administrator   ~0003673

I think this bug might also be related to 0001185 and 0000971

There is apparently a problem with the way coin handles transparent textures... As soon as you begin to load several different textures (imageplane, sketcher dimensions, draft patterns), things begin to mix.

rfluck

2013-09-26 12:48

reporter   ~0003675

Desktop graphics Intel 82945G using latest drivers, runs Blender with no problems.
Laptop graphics ATI Mobility Radeon X600 using latest Omega drivers, runs Blender with no problems.

darzur

2013-09-26 14:08

reporter   ~0003676

I have exactly same issue on Linux Mint 13 Mate with Radeon 9200. I never experienced such behavior in any application before.

normandc

2013-09-26 20:14

manager   ~0003685

In those three cases, 3 very obsolete graphics chips... Probably with less than complete support of OpenGL.

darzur

2013-09-27 03:16

reporter   ~0003688

Last edited: 2013-09-27 03:18

I agree, it's obsolete. But to be honest it's first application with such problems. I've never experienced any problems before.

P.S. In windows 7 x64 (crossfire Radeon HD4770) all those fonts are very fuzzy - almost unreadable.

yorik

2013-09-27 12:01

administrator   ~0003690

I think there are 2 problems, and maybe we could do well sorting them out in 2 categories... Not having ANY support for transparent textures (such as the constraints texts rendering as grey boxes) is definitely a 3D driver problem, and I don't think we can do anything about it. This bug and 0001255 would be in that category.

Now there is also another problem, which can be reproduced even with good drivers, are some weird artifacts happening with textures. I thought bugs 0001185 and 0000971 might be related to this one, but maybe I was wrong...

So maybe we can close this bug and 0001255

rfluck

2013-09-27 13:20

reporter   ~0003692

I would think that much of the decision to say "Hey, your 3D driver doesn't support this sketcher module function, or your hardware is obsolete, so tough cookies using FreeCAD" would be based on the original intent of why FreeCAD is being developed in the first place.

The FreeCAD FAQ troubleshooting guide in the documentation states: "A good way to doublecheck if opengl is available is to try to run another opengl application such as blender". Yet Blender.org states: Blender doesn't use special platform specific or 3D card specific OpenGL commands. For the entire GUI it even still sticks to the OpenGL 1.4 standard, which is now over 12 years old and which can be expected to run fine on all modern 3d hardware."

So in my mind, with an assumed intent that FreeCAD is intended for the home user/hobbyist and the experienced CAD user, who has experience using commercial parametric modeling software, making FreeCAD a viable option that can compete with commercial software, the question is: Is the conversion of the text for the constraint dimensions into images really supplying greater flexibility, keeping in mind the intended audience and the potential of installations of FreeCAD on older hardware?

As a developer I too appreciate the new bells and whistles in the latest and greatest APIs and hardware, though I always try to keep in mind while developing software about who my end users are, their needs, and their hardware; as who doesn't have an older laptop or desktop laying around that is specifically dedicated to specific functions like 3D CAD, video rendering, etc.. The rest of FreeCAD appears to work well, at least from my viewpoint, with the exception of the sketcher module's dimensions text, so to any end user this looks like a bug, not an enhanced feature to give FreeCAD future flexibility, and this bug will rear its head continually as new downloads occur.

Perhaps this paradigm is what drives Blender developers to stay in the middle ground of OpenGL by orbiting around version 1.4?

yorik

2013-09-27 18:32

administrator   ~0003693

Sorry, I didn't explain well...

The fact is that unlike blender, freecad doesn't communicate directly with openGL. We use an intermediate library called coin3D. We have not much control over how coin3D manipulates opengl. So in this case, unfortunately, there is little we can do on our side to solve the problem.

One thing that would be interesting to verify, is if this bug is tied a certain version of opengl or not...

wmayer

2013-09-28 11:50

administrator   ~0003696

> For the entire GUI it even still sticks to the OpenGL 1.4 standard, which is now over 12 years old and which can be expected to run fine on all modern 3d hardware."
Coin3d is an implementation of OpenInventor 2.1 and on my Windows machine I'm still on Coin2.4 which is probably 8 years old or more. So, there can be no talk of using the latest and greatest features of OpenGL.

> Is the conversion of the text for the constraint dimensions into images really supplying greater flexibility, keeping in mind the intended audience and the potential of installations of FreeCAD on older hardware?
Well, the same node is also used to show symbols. And showing images isn't it possible with OpenGL 1.4, too?

So, the problem might be related to a flaw of how OpenGL is used in this special node and that newer graphic drivers have no problems handling this but older maybe have.

rfluck

2013-09-28 16:07

reporter   ~0003698

Here are release dates of various mentioned implementations in this thread and the hardware in question:
Open Inventor 2.1: 1995
OpenGL 1.4: 2002
OpenGL 2.0: 2004
Coin3D 2.4: Sept 2005

Radeon 9200: April 2003 supports OpenGL 1.3
ATI Mobility Radeon X600:June 2004 support OpenGL 2.0
Intel 82945G chipset: May 2005 supports OpenGL 1.4

wmayer

2013-10-20 11:30

administrator   ~0003776

Some further tests made it obvious that this is the non-power-of-two limitation. According to http://stackoverflow.com/questions/13461808/opengl-power-of-two-textures this was solved by OpenGL 2.0 almost ten years ago. So, it's definitely driver-related which doesn't support OpenGL 2.0 very well.

wmayer

2013-10-21 06:12

administrator   ~0003777

First it should be checked if non-power-of-two textures are supported, if not a trick can be applied:

The trick is to calculate the next higher power of two values from the given width and height and make a fully transparent texture of that size. Afterwards the actual texture can be drawn using glTexSubImage2D.

The numbers appear a little bit smaller but at least the text is readable and there are no more white/grey boxes.

wmayer

2013-10-21 06:13

administrator   ~0003778

git show e8f752e

Issue History

Date Modified Username Field Change
2013-09-20 20:14 rfluck New Issue
2013-09-20 20:14 rfluck File Added: DatumLabelNotShowing.png
2013-09-21 11:10 wmayer Note Added: 0003601
2013-09-21 12:38 rfluck Note Added: 0003607
2013-09-21 17:36 wmayer Note Added: 0003616
2013-09-21 20:08 bejant Note Added: 0003619
2013-09-23 13:23 rfluck File Added: DatumLabelNotShowing2.png
2013-09-23 13:25 rfluck Note Added: 0003640
2013-09-23 13:33 wmayer Note Added: 0003641
2013-09-25 23:10 normandc Note Added: 0003672
2013-09-26 11:25 yorik Relationship added has duplicate 0001255
2013-09-26 11:37 yorik Note Added: 0003673
2013-09-26 12:48 rfluck Note Added: 0003675
2013-09-26 14:08 darzur Note Added: 0003676
2013-09-26 20:14 normandc Note Added: 0003685
2013-09-27 03:16 darzur Note Added: 0003688
2013-09-27 03:18 darzur Note Edited: 0003688
2013-09-27 12:01 yorik Note Added: 0003690
2013-09-27 13:20 rfluck Note Added: 0003692
2013-09-27 18:32 yorik Note Added: 0003693
2013-09-28 11:50 wmayer Note Added: 0003696
2013-09-28 16:07 rfluck Note Added: 0003698
2013-10-20 11:30 wmayer Note Added: 0003776
2013-10-21 06:12 wmayer Note Added: 0003777
2013-10-21 06:13 wmayer Status new => assigned
2013-10-21 06:13 wmayer Assigned To => wmayer
2013-10-21 06:13 wmayer Note Added: 0003778
2013-10-21 06:13 wmayer Status assigned => closed
2013-10-21 06:13 wmayer Resolution open => fixed
2013-10-21 06:13 wmayer Fixed in Version => 0.14