Code Monkey home page Code Monkey logo

pixeltoaster's People

Contributors

gafferongames avatar

Watchers

 avatar  avatar

pixeltoaster's Issues

listener is forgotten when display is closed

If you set the listener then close your display, and re-open in, you need
to manually set the listener again.

listener should remain set once you set it, across any number of open/close
cycles

Original issue reported on code.google.com by [email protected] on 11 Sep 2006 at 3:28

default listener behavior is annoying for on key down

if you implement a listener to get input, but dont override on key down, --
you expect behavior to not change, but currently this is not the case, as
the quit on escape is ignored.

fix: make the onKeyDown return true/false -- true is default, and indicates
that any "system keys" that are pressed indicating close (eg. ALT-F4 or
escape), should be interpreted as close by default, on top of your existing
keys

Original issue reported on code.google.com by [email protected] on 11 Sep 2006 at 4:08

add image display for recording videos

the image display will output in TGA or RAW files each time pixels are
updated to the display.

you can use the image display to record a video of your graphics output

Original issue reported on code.google.com by [email protected] on 7 Sep 2006 at 4:26

add ability to pass custom memory allocator and completely remove crt

size critical programs such as intros often want to remove dependency on
crt - it would be good to provide a #define PIXELTOASTER_NO_CRT to strip
out all usages of crt functions to help these guys out

this mostly reduces down to providing some way for the user to supply a
custom allocator

Original issue reported on code.google.com by [email protected] on 7 Sep 2006 at 4:32

extend pixeltoaster api to support multiple display implementations per platform

for example, on windows you may have the choice between DirectX and OpenGL
display - on unix you may have a choice between xlib and ggi/svgalib,
directfb or whatever.

a static system interface should be able to enumerate the displays
available on the platform and let you select the current display
implementation to use at runtime, each display you create afterwards will
use the selected display

you should also be able to use defines at compile time to enable/disable
displays on a platform - for example, you may only want to compile in
DirectX and not OpenGL

Original issue reported on code.google.com by [email protected] on 7 Sep 2006 at 4:29

website documentation is out of date

update the documentation on the website or remove it completely, always ship 
updated doxygen 
documentation with official releases -- that way the users always have relevant 
documentation 
available for that version

Original issue reported on code.google.com by [email protected] on 1 Sep 2006 at 7:08

update pixeltoaster.com website

implement a basic frontend website on pixeltoaster.com focused around the 
following actions:

1. brief description... more info? -> code.google.com page
2. download latest release
3. support? -> forums, bugs/feature requests? -> add issue on code.google.com 
page
4. documentation -> link to online doxygen docs
5. licence info -> link to full LGPL info

need cool logo! =p.

Original issue reported on code.google.com by [email protected] on 1 Sep 2006 at 7:19

add new listener callbacks

would be good to have a callback on display open succeed, display open fail
- probably more that would be useful (on display resize is a possibility?)

Original issue reported on code.google.com by [email protected] on 11 Sep 2006 at 3:40

macosx needs native display implementation

this is a large feature, but is probably achievable in about a week given 
reference source code - 
more difficult is working out the "best api" to use, as i am not as familiar 
with macosx as win32. eg. 
vfw vs. gdi vs. ddraw vs. opengl vs. d3d --> there are equivalent choices on 
macosx platform 
(quicktime, gl, carbon, core image etc.)

Original issue reported on code.google.com by [email protected] on 1 Sep 2006 at 7:12

release is way out of date

create a new source release ASAP

then write some ruby scripts to package a nice release for win32 including 
precompiled binaries etc. 
one release for mingw32, another for win32 visualc7 etc...

Original issue reported on code.google.com by [email protected] on 1 Sep 2006 at 6:52

current release does not include release notes

releases should include release notes (PDF generated from open office) - 
release notes include a 
link back to the project website, forums etc. list the features in the build

but most importantly, for each platform explain how to compile and run the 
example programs - 
especially macosx x11 needs this explanation for new users


Original issue reported on code.google.com by [email protected] on 2 Sep 2006 at 8:47

multi-monitor support when opening display

currently displays are always opened on the primary display, it would be
cool to add a static "System" object which could query how many displays
were attached to the system, what resolution they are, and "select" them so
you could create a pixeltoaster display on each

Original issue reported on code.google.com by [email protected] on 7 Sep 2006 at 4:21

unit tests are messy and should be cleaned up

the code for converter testing is crude and needs to be cleaned up

i'd also like to be able to go "make test" to build and run the tests

also: additional unit tests should be added for each class in pixeltoaster, to 
ensure it works 
perfectly

Original issue reported on code.google.com by [email protected] on 2 Sep 2006 at 8:55

add list of display modes and nearest mode matching algorithm

this is required to make fullscreen output reliable across multiple
platforms. at the moment, if the exact resolution is unavailable, the
fullscreen display open fails -- but the user has no way of querying the
set of display modes available. THIS IS LAME

FIX IT! :)

Original issue reported on code.google.com by [email protected] on 7 Sep 2006 at 4:06

windows release should contain proper solutions and projects

at the moment the solution/project only builds a single demo program (rose)
- they should be refactored to build all demo, example and test programs.
i'll need to find some way to organize this, maybe with a makefile project
instead of a project per-EXE, otherwise it'll get annoying

Original issue reported on code.google.com by [email protected] on 5 Sep 2006 at 11:11

add SSE2 converter routines

no point adding altivec now that apple has gone intel, so lets spend the
time optimizing for SSE2

we should use NASM for the assembler, and add a #define
PIXELTOASTER_USE_SSE2 which interfaces to the external assembly routines.

initially we should focus on the key conversion routines, eg. floating
point color -> integer, as these are pretty slow at the moment, as they are
pure c++ (however, they are as fast as possible for c++ impl!)

next, we should optimize common cases of 32bit -> 24bit/16bit etc.

Original issue reported on code.google.com by [email protected] on 7 Sep 2006 at 4:35

Fullscreen mode not implemented on Unix platform

What steps will reproduce the problem?

1. Open a Display with Output::Fullscreen on the Unix platform

What is the expected output? What do you see instead?

Display should go fullscreen, but it stays windowed instead.

Original issue reported on code.google.com by [email protected] on 18 Aug 2006 at 8:33

add string demo

add the old string demo in java as a demo program -- shows off cool mouse
based interaction with program

Original issue reported on code.google.com by [email protected] on 7 Sep 2006 at 6:44

multi processor support with basic threading and mutexes

software rendering depends on CPU power, most architectures are going
multi-core

it would be a good idea to add some basic threading support to pixeltoaster
so this CPU power can be accessed in a portable way

there should be queries for the number of cores available, and to create a
thread with an optional affinity to a core -- there will be a restriction
that display open and update must occur on the same thread, but rendering
may occur on a different thread, provided you use synchronization.

Original issue reported on code.google.com by [email protected] on 7 Sep 2006 at 4:31

resizing window breaks mouse event coordinates

What steps will reproduce the problem?

1. run "events" example
2. resize display window
3. move mouse over window 

What is the expected output? What do you see instead?

mouse coordinates are reported in exact window coordinates, instead they
should be resized to always be reported relative to the initial width and
height the display was opened at.

Original issue reported on code.google.com by [email protected] on 16 Aug 2006 at 4:51

add doxygen documentation to release

current release does not include doxygen documentation, in order to get it out 
as quickly as 
possible - i will create a later release (1.3.1?) with doxygen documentation 
included

Original issue reported on code.google.com by [email protected] on 2 Sep 2006 at 8:45

add ability to perform partial display updates

this will be particularly awesome for raytracers and other slow processes
that update a line at a time -- for example, the biggest bottleneck in the
"fractal" demo is the high cost of copying the entire framebuffer each time
a line is rendered

Original issue reported on code.google.com by [email protected] on 7 Sep 2006 at 6:41

investigate ways to reduce buffer copies

win32 implementation copies from source buffer into surface, then copies that 
to vram - investigate 
lock/unlock approach allowing direct writing to 32bit (or floating point) 
buffer, providing optimized 
codepath when no conversion is required

Original issue reported on code.google.com by [email protected] on 1 Sep 2006 at 6:53

code check and cleanup

pass over all API source code, check coding convention, cleanup my code -
leave bramz's unix code alone according to his code style

mostly involves uniformly converting void blah(int blah) -> void blah( int
blah ) consistently across the code, and checking over all the code for
bugs while cleaning it up

Original issue reported on code.google.com by [email protected] on 7 Sep 2006 at 4:38

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.