Reputation: 3 Apprentice
- Active Members
- Active Posts:
- 75 (0.04 per day)
- 19-August 09
- Profile Views:
- Last Active:
- Jul 28 2013 03:07 PM
- Who Cares
- OS Preference:
- Favorite Browser:
- Favorite Processor:
- Favorite Gaming Platform:
- Your Car:
- Who Cares
- Dream Kudos:
Posts I've Made
Posted 28 Jul 2013Hi everyone, thank you for the wealth of replies!
@vividextance, the super bible is very cool, it has confirmed my concerns about the extensions supported on my machine and how vertex array objects and shaders can be used rather than vertex pointers and friends.. This tutorial collection really does get one started !
Now I also had a look at http://sol.gfxile.net/cubes.html, where someone tries find the most suitable technique for rendering a very large amount of identical cubes.. In his results table at the end he suggests that ARB_instanced_arrays has the highest render speed as well as using texture memory..
After reflection on all of this, I will now change all my code to work with vertex array objects and shaders in the same way they are used in the bible toolkit source, ie one vertex array per separate render object.. Once that works I will mess about trying to find ways to optimize that design decision..
@snoopy11, I have used display lists extensively and they do end up quite slow compared to VBOs with STATIC_DRAW on the machines that I have used (never great graphics capabilities anyway), it may also be something to do with how many calls I place in the DL, but I have definitely moved on from them because they are/will be deprecated after all, and almost everything that will be rendered will be transformed eventually! Thankyou!
@ButchDean, Thankyou for your insight, I completely understand that I must balance effects with performance. I have read about the newer geometry and tessellation pipeline stages, and I am would love to use geometry shading but they are definitely not supported on my machine..
I will provide a better description of ultimately what I want to achieve with this:
This is a really ambitious project in which I wish to create a CAD and simulation environment for the concept design and modelling of the behavior of solid-state quantum systems. I am first targeting to model the behavior of single-electron transistors used as biosensors that can potentially sense individual bio-molecules.
Now I know of and can acquire experimental data for many quantum-mechanical characteristics of such systems such as materials dimensions (think quantum-dots), crystal structure and electronic structure (approximately only). Most of the electronic behavior in a quantum system will be a function of this data. I want to allow a user to create the system graphically like you could with blender3d say, but with complete specialization towards quantum-system modelling, so the project is completely consistent with this aim.
The biggest problem with this is that if it were to become useful it would require very high performing hardware. Although I think this kind of program should require such hardware anyway it would be nice to get it working on more common/available hardware for the sake of the open-source community and scientific education.
So now translating user requirements this means my requirements of OpenGL are that I can efficiently render a potentially large collection of atoms into shapes created by the user, and that upon an event in a localized area in that collection, a physical quantum effect is depicted graphically using meshes, waves and other primitives.. So the software needs complete knowledge about each atom being rendered because it is ultimately linked to the simulation engine.
The kind of scenario that I am looking at:
An atom is dislocated by an event caused by some particle: The atom in question must be updated, as well as the new mechanical structure of the lattice, so all the atoms in the vicinity of the dislocated atom must be updated. This then has an effect on the electronic structure of the system, which at this scale may be completely different from the original lattice. This data is then used for simulation of other events.
In conclusion for now I will follow the super bible and use vertex array objects for every atom and other primitives, as I may be able to get away with rendering more than 10k atoms, which is of the order of magnitude of the single-electron device that I am targeting...
Thankyou all for your advice, I have learnt many new things here! Sorry for the long post, I am quite excited about this project!
Posted 25 Jul 2013Thankyou vividexstance,
No I have not read this! I will look into it and update my post! Thankyou very much!
- Member Title:
- D.I.C Head
- 25 years old
- February 1, 1990
- Electronics, Programming, Nanotechnology, Music, Skateboarding and Cycling
- Years Programming:
- Programming Languages: