Comments (4)
Have you tested this with 1.10? I continue to be unable to reproduce this issue.
from panda3d.
Just tried it on another, newer machine, with a very recent Panda3D version (8a35f36 from 2017-10-18) and yes, it definitely still happens. If anything, the frequency with which the results vary seems to have increased; it now gives a wrong result like 1 time out of 2, while it only went wrong 1 time out of 5 or so with older Panda versions, IIRC.
Here is a short video I recorded to show exactly what happens.
Since I get the same results on three different machines (1 laptop and 2 desktops), it seems doubtful that it has anything to do with a specific graphics card (although they are all NVIDIA), but perhaps you want the output when I set "gl-debug true" and "notify-level-glgsg debug" in Config.prc, just in case?
Here is already the last part of it, just after loading the textures, therefore perhaps the most relevant part:
:display:gsg:glgsg(debug): loading uncompressed texture rockwall_diffuse
:display:gsg:glgsg(debug): loading new texture object for rockwall_diffuse, 1024 x 1024 x 1, z = 0, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): Buffer detailed info: Buffer object 1 (bound to GL_ARRAY_BUFFER_ARB, usage hint is GL_STATIC_DRAW) will use VIDEO memory as the source for buffer object operations.
:display:gsg:glgsg(debug): Buffer detailed info: Buffer object 2 (bound to GL_ELEMENT_ARRAY_BUFFER_ARB, usage hint is GL_STATIC_DRAW) will use VIDEO memory as the source for buffer object operations.
:display:gsg:glgsg(debug): loading uncompressed texture Brick_105
:display:gsg:glgsg(debug): loading new texture object for Brick_105, 1024 x 1024 x 1, z = 0, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): Buffer detailed info: Buffer object 3 (bound to GL_ARRAY_BUFFER_ARB, usage hint is GL_STATIC_DRAW) will use VIDEO memory as the source for buffer object operations.
:display:gsg:glgsg(debug): Buffer detailed info: Buffer object 4 (bound to GL_ELEMENT_ARRAY_BUFFER_ARB, usage hint is GL_STATIC_DRAW) will use VIDEO memory as the source for buffer object operations.
:display:gsg:glgsg(debug): GLGraphicsStateGuardian 0000000003D4FE00 destructing
The above output is always the same, regardless of the result.
Perhaps there is something wrong with the way the .bam file itself is created, so I attached it below, including the textures used:
model_hierarchy.zip
The newest machine I tested this on runs Windows 10 64-bit and has an NVIDIA GeForce GTX 750 Ti graphics card.
from panda3d.
I managed to reproduce it at last. The issue is that the compose mechanism relies on the states being sorted by pointer, but loading it from .bam removes the guarantee that the state pointers are sorted (since the texture stages are loaded in no particular order). All that's needed is one line to sort the pointers. :)
Thanks for the test case and reporting this issue!
from panda3d.
Great news! Thank you for fixing this!
from panda3d.
Related Issues (20)
- RPM package generation fails
- Implement SteamAudio SDK HOT 9
- Font.setOutline does not work entirely correctly HOT 2
- how to use LerpFunctionInterval and functools.partial not working HOT 2
- finalize_distribution_options entry point requires panda3d import
- TransformStat::get_mat() returns singular matrix on macOS HOT 5
- font.setPixelsPerUnit crashes when values get too high HOT 3
- identical condition HOT 1
- return twice
- unclear error with possibly non BMP character HOT 3
- Standardize TypedWritable HOT 2
- PGEntry getCursorY fails on word-wrapped or multiline text HOT 2
- Grammar railroad diagram HOT 5
- 2 small Preprocessor bugs HOT 11
- Reimplement core functionality of DIRECT in C++ codebase HOT 1
- Cppparser preprocessor do not expand macros with arguments correctly HOT 94
- bam_model_extensions changes external path references in distributions
- FSM object has no attribute 'notifier' in requestNext/requestPrev
- Importing Pyrender with Panda3D results in the code not processing HOT 1
- Triangulator running out of memory HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from panda3d.