Project

General

Profile

Actions

Bug #386

closed

Helpers & grid... & Environment settings

Added by kineas over 12 years ago. Updated over 12 years ago.

Status:
Resolved
Priority:
High
Assignee:
-
Target version:
-
Start date:
03/13/2012
Due date:
% Done:

100%

Estimated time:
2.00 h
Spent time:

Description

The problem appears when using OpenGL settings in Scol Engine;
In the viewport, the grid (usually black) is yellow, and helpers (light for instance, usually... Yellow) are now composed of yellow and black.

Still with OpenGL, when i use both environment settings (Sea, Sky...) and the Web Navigator Plugit, there's a graphic problem i can't explain (as you can see on the second screenshot).


Files

Sans_titre-3.jpg (442 KB) Sans_titre-3.jpg First ScreenShot kineas, 03/13/2012 12:48 AM
Sans_titre-2__2_.jpg (437 KB) Sans_titre-2__2_.jpg Second ScreenShot kineas, 03/13/2012 12:48 AM
Actions #1

Updated by Anonymous over 12 years ago

  • Category set to OS3D_Editor
  • Assignee set to Anonymous
  • Priority changed from Normal to High
  • Target version set to OpenSpace3D 0.2.7a
  • % Done changed from 0 to 20
  • Estimated time set to 2.00 h

It seems that we have two different issues here. The first one is an easy one, I already commented this effect in the source code :)

_@// Create a minimal material with one texture unit (for adding widgets to this material) on non-internal groups
std::string groupName = convertedEvent->mMaterial->getGroup();
if((groupName.substr(0, std::string(SO3_INTERNAL_RESOURCE_GROUP).length()) != SO3_INTERNAL_RESOURCE_GROUP)
&&(groupName != SO3_INTERNAL_HYDRAX_RESOURCE_GROUP)
&&(groupName != SO3_INTERNAL_SKYX_RESOURCE_GROUP)) {
// The technique...
Ogre::Technique* ogreTechnique = 0;
if(convertedEvent->mMaterial->getNumTechniques() == 0)
ogreTechnique = convertedEvent->mMaterial->createTechnique();
else
ogreTechnique = convertedEvent->mMaterial->getTechnique(0);
// The pass...
Ogre::Pass* ogrePass = 0;
if(ogreTechnique->getNumPasses() == 0)
ogrePass = ogreTechnique->createPass();
else
ogrePass = ogreTechnique->getPass(0);
// The texture unit state
if(ogrePass->getNumTextureUnitStates() == 0) {
// As the tu is not initialized, it will be black/yellow slashes on OpenGL.
ogrePass->createTextureUnitState();
}
}@_

So it's the default texture in OpenGL. I think that we shall remove the default texture unit creation on empty material, but as allways, the code was existing, and removing it will certainly implies some nasty undocumented case. But anyway, I'll give a try without that code portion.

For the second, It's simply that the overlay on which the web is rendered is rendered in the texture that is used for water reflexion (the same problem is certainly present for Flash interface and Bitmap interface too). Disabling the overlays on the water RTT should do the trick (Hydrax bug).

Thanks for reporting!

Actions #2

Updated by Anonymous over 12 years ago

  • Status changed from New to Resolved
  • % Done changed from 20 to 100

Kineas, could you confirm that it solves the issue (once the dll will be updated)?

Actions #3

Updated by Anonymous over 12 years ago

  • Project changed from OpenSpace3D to SO3Engine
  • Category deleted (OS3D_Editor)
  • Target version deleted (OpenSpace3D 0.2.7a)
Actions

Also available in: Atom PDF