Discussions
Categories
- 385.5K All Categories
- 4.9K Data
- 2.5K Big Data Appliance
- 2.4K Data Science
- 453.4K Databases
- 223.2K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 47 Multilingual Engine
- 606 MySQL Community Space
- 486 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3.2K ORDS, SODA & JSON in the Database
- 585 SQLcl
- 4K SQL Developer Data Modeler
- 188K SQL & PL/SQL
- 21.5K SQL Developer
- 46 Data Integration
- 46 GoldenGate
- 298.4K Development
- 4 Application Development
- 20 Developer Projects
- 166 Programming Languages
- 295K Development Tools
- 150 DevOps
- 3.1K QA/Testing
- 646.7K Java
- 37 Java Learning Subscription
- 37.1K Database Connectivity
- 201 Java Community Process
- 108 Java 25
- 22.2K Java APIs
- 138.3K Java Development Tools
- 165.4K Java EE (Java Enterprise Edition)
- 22 Java Essentials
- 176 Java 8 Questions
- 86K Java Programming
- 82 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 208 Java User Groups
- 25 JavaScript - Nashorn
- Programs
- 667 LiveLabs
- 41 Workshops
- 10.3K Software
- 6.7K Berkeley DB Family
- 3.6K JHeadstart
- 6K Other Languages
- 2.3K Chinese
- 207 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 474 Portuguese
Java3D application behaves differently with OpenGL
I have an application that works fine on Windows systems with opengl32.dll version 4. But when I try to run it on systems with opengl32.dll version 5, it doesn't display correctly (appears to be a refresh problem).
I bundle the runtime version of Java and Java3d with the application. I can also bundle the dll with the application but I don't know how to force Windows to use it for this particular app (I know, this is a Java forum not Windows).
OR
Why does Java3d behave differently for the newer Windows opengl32.dll and is there a way to fix this?
I bundle the runtime version of Java and Java3d with the application. I can also bundle the dll with the application but I don't know how to force Windows to use it for this particular app (I know, this is a Java forum not Windows).
OR
Why does Java3d behave differently for the newer Windows opengl32.dll and is there a way to fix this?
Comments
-
It's no surprise that you're having different behavior with the newer version of the DLL. The problem is that you can only register a DLL with the same file name once, so you have to be careful about downgrading someone's system with your DLL, or it might cause issues elsewhere for the user. You can use regsvr32 to register and unregister DLLs, and it's fairly simple to use. Just run regsvr32 directly, and it'll give you a popup with some details on how to use it. When a DLL is requested in Windows, first it checks to see if the DLL is registered, and then uses that DLL, if it doesn't find it, then it searches in the current directory for the DLL, and then it searches through the %PATH% environment variable directories. So if you unregister the DLL, and then put your DLL in whatever directory that your app is executed from, it should work, as long as the newer version DLL remains in the system32 (or wherever it is) directory so that other applications can still use it. Hopefully that helped.
-
Also, assuming you're not targeting NT4 as a platform, or aren't using any OpenGL specific functions in J3D, you might consider using the DirectX version of J3D.
This discussion has been closed.