Peruttu

Delphi OpenGL engine

I need help creating a simple Delphi-based OpenGL engine. The requirements are:

- The basic principle is that it should be possible to add objects to the scene, and then render the scene as a output image.

- At the moment the only objects I need to add is 32-bit images. The alpha-channel of the images should be used.

- The parameters for each objects should be possible to change before each rendered frame.

- Parameters that I need to be able to set for each object are position (X, Y, Z), rotation (X, Y, Z), opacity (0-100 percent), scale (X, Y, Z).

- It must also be possible at anytime to change the image (with an image with a identical size) without re-creating the object.

- It should also be possible to change camera settings before rendering. At least position (X, Y, Z) and lens angle should be possible to set.

- As manipulation of images are the main thing, there are some things that is important: Images should be handled so that when all paramaters are at default values the image is rendered pixel-by-pixel to the target bitmap. Ie, a image of 100x100 pixels will still be 100x100 pixels when rendered. Unless there is any light added the image should appear identical to the input on the output.

- The ouput render should result in a 32 bitmap image of desired size (up to 1920x1080). It should be the result of all objects with the current properties, and with their alpha channels correctly combined. Render should not be done to screen, only to the image.

- Render should be done on the computers OpenGL graphic card, for fast render of complex scenes.

- Speed is the main focus - all actions has to be optimized for short execution time.

- It should be 100% delphi code, well commented and easy to modify and add functionality to.

- Values for position, scale and rotation should have a meaningful range, where the default is 0 (position and rotation) or 1 (scale).

Here are a pseduo code of how the engine should be used:

A: Init Scene

InitScene();

AddImage(AImage, ObjectID); // AImage = 32bit bitmap

AddImage(AImage, ObjectID); // AImage = 32bit bitmap

B: Render Loop

UpdateImage(ObjectID, NewImage); // New image = 32bit Bitmap

SetImagePosition(ObjectID, XPos, YPos, ZPos);

SetImageScale(ObjectID, XScale, YScale, ZScale);

SetImageOpacity(ObjectID, Opacity);

SetImageRotation(ObjectID, XRotate, YRotate, ZRotate);

SetCameraPosition(XPos, YPos, ZPos);

SetCameraAngle(Angle);

RenderFrame(TargetImage); // TargetImage = 32bit Bitmap

--------- Don't Bid Outrageous------------

Taidot: Delphi, PHP

Näytä lisää: opengl help, code computers, focus camera, combined result, bit manipulation, delphi opengl engine, delphi opengl, opengl c, image render, execution, graphic engine, add camera, object image scale, help engine, engine rotation, camera manipulation, screen rendering, render image, graphic render, opengl rendering, code opengl, opacity, object opengl, used computers, render php

About the Employer:
( 121 reviews ) Belfast, Ireland

Projektin tunnus: #487928

1 freelanceria on tarjonnut keskimäärin 750 $ tähän työhön

SSYES

Hi,Please refer PM. Regards

750 $ USD 21 päivässä
(10 arvostelua)
4.7