not-na / peng3d Goto Github PK
View Code? Open in Web Editor NEWPython and pyglet based 3D Engine and toolkit
License: GNU General Public License v2.0
Python and pyglet based 3D Engine and toolkit
License: GNU General Public License v2.0
Note that this issue is more of a write-down for myself for when I start to work on this again, as I currently do not have the time to do so.
Deleting a widget via SubMenu.delWidget() causes the widget object itself to stay around, causing a memory leak.
Preliminary testing with the testbtn widget (an ImageButton) has revealed that this is probably caused by a cyclic dependency, as sys.getrefcount() of the widget just before deleting the last known reference returns 10
. However, gc.get_referrers() shows 7 results, three frame objects, one cell object, one bound method BasicWidget.on_mouse_release
of the button in question, a weird 5-tuple of form (obj,285,407,1,16)
and a large dictionary containing lots of OpenGL constants and function pointers.
The 5-tuple's second and third item have been seen to change slightly over several tests, but the last two remained constant. Perhaps they are constants and the other ones are OpenGL handles? Further testing required...
The dict seems to have lots of keys, and was to large to print out entirely on the console. All visible keys seem to originate from pyglet OpenGL constants and functions, though there were some odd keys like PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC
which I have never heard of and that lack the typical gl* schema.
This dict could be the locals/globals of some module, should check what module specifically, maybe by writing the list of keys to a file and searching manually...
Should also check under what key the widget is available in this dict.
The best way to solve this problem seems to be to find all referrers to the widget and eliminate them as cleanly as possible.
Checklist:
on_mouse_release
still exists, and not the othersMerge PyFileSelect into this Module, perhaps adding more customization options?
It would probably be best to do the merge after adding a dialogue system to peng3d, to allow for better integration.
It would be great if you guys could put up a tutorial website which provides various tutorials using Peng3D :) ... I wish to know more on this.
Add support for all standard widgets, as found on Wikipedia.
Note that this only concerns Widgets commonly used in Desktop Applications.
Proposed List of useful WIdgets:
This issue is meant to track the progress of adding guides to peng3d to make it easier for new users to get started.
Inspired by #1 and #5, both of which requested examples and/or tutorials/guides.
I'm open to suggestions for topics to cover. Just submit them as a comment under this issue.
Currently, the following topics have been proposed:
basic.py
or model.py
examplesIf anybody is willing to write a guide, leave a comment here beforehand, so we don't duplicate work.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.