Hi all,
I've tried to use antialiasing calling
DisplaySystem.getDisplaySystem().setMinSamples(4);
it's wonk correctly in a windows pc, but in a system MAC crashes! :(
There's another mode to use antialiasing?
Thanks
Hi all,
I've tried to use antialiasing calling
DisplaySystem.getDisplaySystem().setMinSamples(4);
i can only speak for windows PC.
here you have to set the AASamples with the Settings that you pass to standardgame:
settings.setSamples(aasamples);
if you do not use StandardGame you just have to make sure u call the Setter Method before calling:
display.createWindow(settings.getWidth(), settings.getHeight(), settings.getDepth(), settings
.getFrequency(), settings.isFullscreen());
once the window is created you cannot change the AA settings anymore
Also, you probably have to pay attention to the possible max… not sure if we check that currently
Hi,
the some object in windows appear (with MinSamples = 4)
and in Mac (without MinSamples) is
How I can increase image quality in Mac?
If I use
DisplaySystem.getDisplaySystem().setMinSamples(4);
+1
how i can image quality for mac ?
Need it creates a larger picture for display on the screen the right size? But how?
Tatofly said:
If I usethe canvas could not be created :cry:
DisplaySystem.getDisplaySystem().setMinSamples(4);
what your mac ??
my mac is a mac book with a integred chipset intel gma 950
this chipset not suport a fsaa
renanse
if i have a graphic card with fsaa suport on mac
with this command
DisplaySystem.getDisplaySystem().setMinSamples(4);
Here’s the problem!
I’ve tested my application on 2 Mac,
[1]. MiniMac, with an integrated Intel GMA 950
[2]. Mac Pro, with an ATI Radeon X 1900
I’ve downloaded a software for test OpenGL features in these cards
http://www.realtech-vr.com/glview/ , it’s very cool, it’s free and work for PC and Mac
After running a complete test, the GR_ARB_multisample (core feature 1.3) is supported by ATI Radeon X 1900, but it’s NOT supported by Intel GMA 950!!
How can I know if this feature is supported by the hardware before calling
DisplaySystem.getDisplaySystem().setMinSamples(4);
How can I know if this feature is supported by the hardware before calling
We already test for multisample support before enabling it, but not before passing the argument to the PixelFormat constructor, so we probably should force that to 0 at least if you don't support multisample. I can enforce that in setMinSamples
Or actually, I can't enforce it… the capabilities are not set until the display is created. So the best thing to do is indeed set it to 0 and let the user choose from a list. I'm trying to find out how to query for max supported samples.
Ideally you would allow the user to change it in-game where it would know the supported samples amount, then you could save it in a config file and reload later without worrying about display creation issues.
dhdd said:
i can only speak for windows PC.
here you have to set the AASamples with the Settings that you pass to standardgame:
settings.setSamples(aasamples);
if you do not use StandardGame you just have to make sure u call the Setter Method before calling:
display.createWindow(settings.getWidth(), settings.getHeight(), settings.getDepth(), settings
.getFrequency(), settings.isFullscreen());
once the window is created you cannot change the AA settings anymore
DisplaySystem display = DisplaySystem.getDisplaySystem();
display.setMinSamples(4);
display.initForCanvas(width, height);
renderer = display.getRenderer();
Sorry, i forget to mention that i use Linux (Ubuntu 8.04 AMD64 and Debian Lenny ia32). I use a Nvidia Quadro NVS140 mobile with the actual driver from nvidia homepage.
Is there any restriction for fsaa and linux ? does it only works on windows ?
did i make a mistake by turning fsaa on ? (see the code above)
is it a problem that i use a headless canvas integrated in an swing gui ?
thanks
Sebastian
Hi all,
Is there an update on this? I am still running into issues on anti-aliasing. When using it with a canvas, it seems that it sometimes causes JME to not come up at all. However the behavior is intermittant. Does anyone know if there is a preferred way to use anti-aliasing that can avoid this problem, or to test to see if the hardware will support it?
Thanks,
Stephen
as renanse said, when you set the MinSamples, its tested for support of the graca. if its not supported nothing will happen.
as i have written above, you have to set ALL SETTINGS including the MinSamples before the OpenGL context is started. If you do it afterwards, it might just not work or even crash the application afaik.
Thanks for the response. Unfortunately I'm doing all that but still run into troubles. Here's the code that I use to set things up. With the minsamples being set where it is, well before the canvas is created, we still run into problems of JME not loading.
Please tell me if I am missing something, as I am not especially experienced with OpenGL contexts.
Thanks,
–Stephen
/**
* Should be called by the init()
*/
private void setupGlArea()
{
//
GL STUFF
// make the canvas:
DisplaySystem display = DisplaySystem
.getDisplaySystem(LWJGLSystemProvider.LWJGL_SYSTEM_IDENTIFIER);
//*** Antialiasing has been disabled to address bug WBC-74 - CA 02/26/09 ***
//Bring down from 16 to 4 for samples, 16 will only run in certain video cards
display.setMinSamples(16);//this sets the antialising to on
display.registerCanvasConstructor("AWT",
LWJGLAWTCanvasConstructor.class);
canvas = (LWJGLCanvas) display.createCanvas(width, height);
canvas.setUpdateInput(true);
canvas.setTargetRate(60);
// add a listener... if window is resized, we can do something about it.
canvas.addComponentListener(new ComponentAdapter()
{
public void componentResized(ComponentEvent ce) {
doResize();
}
});
//============================
JPanel canvasPanel = new JPanel();
canvasPanel.setLayout(new BorderLayout());
canvasPanel.add(canvas, BorderLayout.CENTER);
//creates the search Panel
JPanel searchPanel = SearchPanel.getInstance().buildWindowFrame();
JSplitPane sideSplit = new JSplitPane();
sideSplit.setOrientation(JSplitPane.VERTICAL_SPLIT);
sideSplit.setOneTouchExpandable(true);
sideSplit.setContinuousLayout(true);
sideSplit.setTopComponent(searchPanel);
sideSplit.setBottomComponent(MyPlacesPanel.getInstance()
.buildWindowFrame());
sideSplit.setDividerLocation(200);
//creates TabbedPane for layers
JPanel tabbedPane = LayerTabbedPane.getInstance().createLayerPanel();
JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,
sideSplit, tabbedPane);
splitPane.setOneTouchExpandable(true);
splitPane.setDividerLocation(300);
//sets the minimum size of the panels
Dimension minimumSize = new Dimension(150, 150);
tabbedPane.setMinimumSize(minimumSize);
canvasPanel.setMinimumSize(minimumSize);
splitPane.setMinimumSize(minimumSize);
JSplitPane mainSplit = new JSplitPane();
mainSplit.setOrientation(JSplitPane.HORIZONTAL_SPLIT);
mainSplit.setOneTouchExpandable(true);
mainSplit.setLeftComponent(splitPane);
mainSplit.setRightComponent(canvasPanel);
mainSplit.setDividerLocation(300);
contentPane.add(mainSplit, BorderLayout.CENTER);
contentPane.add(lblStatus, BorderLayout.SOUTH);
//======================================
// Setup key and mouse input
KeyInput.setProvider(KeyInput.INPUT_AWT);
KeyListener kl = (KeyListener) KeyInput.get();
canvas.addKeyListener(kl);
AWTMouseInput.setup(canvas, false);
// Important! Here is where we add the guts to the panel:
impl = View.getInstance();
canvas.setImplementor(impl);
//
END OF GL STUFF
}