Andre Michaud
Andre Michaud

Reputation: 128

Controlling the individual pixels of a projector

I need to control the individual pixels of a projector (an Infocus IN3104) whose native resolution is 1024x768. I would like to know which subset of functions in C or an APL to do this either by:

  1. Functions that control the individual pixels of the adapter (not the pixels of a window).

  2. A pixel-perfect, 1:1 map from an image file (1024x728) to the adaptor set at the native resolution of the projector.

In a related question ([How can I edit individual pixels in a window?][1]) the answerer Caladain states "Things have come a bit from the old days of direct memory manipulation.". I feel I need to go back to that to achieve my goal.

I don't know enough of the "graphic pipeline" to know what API or software tool to use. I'm overwhelmed by the number of technologies when I search this topic. I program in R, which easily interfaces to C, but would welcome suggestions of subsets of functions in OpenGL or C++ or ..... any other technology?

Or even an full blown application (rendering) which will map without applying a transformation.

For example even MS paint has the >VIEW>Bitmap but I get some transformation applied and I don't get pixel perfect rendering. This projector has DisplayLink digital input and I've also tried to tweek the timing parameters when using the VESA inputs and I don't think the transformation happens in the projector. In any case, using MS paint would not be flexible enough for me.

Platform: Linux or Windows.

Upvotes: 2

Views: 831

Answers (2)

datenwolf
datenwolf

Reputation: 162367

The usual approach to this problem on current systems is:

  1. Set graphics card to desired resolution
  2. Create borderless full screen window
  3. Draw whatever you want

There's really not much to gain from a "low level access", although it were certainly possible.

Upvotes: 2

unwind
unwind

Reputation: 400159

I don't see a reason why a full-screen window, e.g. using SDL, wouldn't work. Normal bitmapped graphics is always 1:1, there shouldn't be any weird scaling going on behind your back for a full-screen:ed window.

Since SDL is portable, you should be able to run the same code in Windows or Linux (or any other supported platform).

Upvotes: 5

Related Questions