Recent Posts

Pages: [1] 2 3 ... 10
WIP / Re: Lerping
« Last post by Michael Lobko-Lobanovsky on Today at 01:23:45 am »
Thank you, Patrice!

Unfortunately that's a very, very early build of Objector that didn't even use skinning or GLSL shaders yet. Neither did it have inertial mouse or many other bells and whistles added at much later stages.

Can you check if you have any other Objector samples I used to send you from time to time to exemplify my progress? They should use a skinned main window like in the snapshot below:

P.S. And, uhm, there was never any "smooth zooming" in Objector whatever that term meant to you. There was only inertial rotation/panning/zooming of the model (I call that option "inertial mouse") which, in later builds, was the mouse's default behavior.
WIP / Re: Lerping
« Last post by Patrice Terrier on October 18, 2019, 09:30:10 pm »
Here is a copy of the Objector you sent me.

I couldn't see the smooth zooming in it.

I do have D2D inertia somewhere, but it is based on DirectX.
WIP / Re: Lerping
« Last post by Michael Lobko-Lobanovsky on October 18, 2019, 06:21:39 pm »
No, it won't work this way, Patrice.

I was planning to substitute your "smooth zoom" (I haven't ever seen any need in, or positive effect of, this "feature") with my own "Inertial mouse" option. The inertial mouse adds some momentum to left mouse drag and mouse wheel scroll, so that once the button or wheel is released, the model doesn't stop abruptly but rather continues to move, rotate or zoom a little gradually decelerating to a full stop. I'm sure you saw this effect in a great many of OpenGL examples on the net.

I implemented this effect in my Objector many years ago. But the problem is that I was unfortunate to break Objector's code a while ago and now I cannot either run it in my IDE or successfully compile it to offer you a practical example... :'(

Do you happen to still have any copy of my compiled Objector (I can decompile it to its FBSL source code and thus restore the functionality of my sources) by any chance?
WIP / Lerping
« Last post by Patrice Terrier on October 18, 2019, 11:27:22 am »
I gave a closer look at your LerpReset, trying to understand how it works.

I would like to use it to perform smooth zooming while processing the WM_MOUSEWHEEL message in Main.cpp,
to replace the code bellow in red:

        if (GetFocus() != hWnd) { SetFocus(hWnd); }
        ry = float(HIINT(wParam)) / 120.0f * gP.rCameraPos[2] / CAMERA_FOVY;

        maxK = 2;
        if (gP.bEnableSmoothZoom) { // 10-12-2015
            maxK = 11; ry = ry / 10;
//        nBreak += 1;
        for (K = 1; K < maxK; K++) {
            gP.rCameraPos[2] -= ry;
            if (gP.rCameraPos[2] > CAMERA_ZFAR - 1) {
                gP.rCameraPos[2] = CAMERA_ZFAR - 1;
            } else if (gP.rCameraPos[2] < CAMERA_ZNEAR) {
                gP.rCameraPos[2] = CAMERA_ZNEAR;
            gP.bRedraw = TRUE; // Redraw the OpenGL scene
            if (maxK > 2) { gl_DrawScene(); Sleep(0); }

//        myDoEvents(gP.hMain);
//        nBreak = 0;

Unfortunatly i am unsure of what to do, and i don't want to break your existing LerpReset code that works very well,
could you help?
WIP / Jeep
« Last post by Patrice Terrier on October 13, 2019, 05:25:11 pm »
I shall wait for the official release of Version #2.80, before posting that one in the collection.
WIP / Re: OR audio (Bass.dll)
« Last post by Patrice Terrier on October 13, 2019, 09:26:07 am »
Here they are, within distinct ZIP files inside of
WIP / Re: OR audio (Bass.dll)
« Last post by Michael Lobko-Lobanovsky on October 13, 2019, 08:05:19 am »

If you want to release your code as v2.80, please send me the entire set of your files for sync'ing, not just these few. There may be more differences in our code elsewhere. It's been a long time indeed since we merged last.

WIP / Re: OR audio (Bass.dll)
« Last post by Michael Lobko-Lobanovsky on October 11, 2019, 06:20:50 pm »
OK I'll do that tomorrow if you don't mind.
WIP / Re: OR audio (Bass.dll)
« Last post by Patrice Terrier on October 11, 2019, 03:26:30 pm »
1. Don't you think that checking only a few scarce enough two-letter abbreviations (Tr, Ns, Ka, Kd, etc.) for just one space byte after them will be much faster than checking every line in the .MTL file for a multibyte #playaudio char sequence, and thus worthy of code duplication?

Then please could you make the change for me, because i am currently working on a WinDev demo project that i would like to complete first.
Eye Candies / Widget 64
« Last post by Patrice Terrier on October 11, 2019, 03:16:49 pm »
This thread is to explain the GDImage Widget concept.

A GDImage widget is a custom animation composed of several graphic components linked altogether to act as a single entity.
They can be anchored, locked or dragged around with the mouse or the arrow keys (not implemented in this demo).

Their first purpose was the creation of custom dashboard, to display data in real time on an opaque or transparent composited background. But they can also be used to display HUD components.

Custom background:
WinLIFT (the GDImage skin engine companion) has a built-in feature to select a custom background on the fly, by clicking with the left or right mouse button onto the top left icon of the window. The images to be selected are stored into the "EXE\Background" folder to be easily customized.

There is only one single timer that performs all the processing from the GDImageRenderAnimation procedure with a refresh rate of 60 Hz.

Code portability:
The code has been designed to work with any programming language in either 32 or 64-bit, hence the use of the core API, because this is the only Windows universal syntax understood everywhere.

Most WinDev applications requires a huge framework, however (thanks to the core API) we need only:
1 - wd170vm64.dll
2 - wd170mat64.dll
3 - wd170std64.dll
+ GDImage64.dll and WinLIFT64.dll
Note: The binary version has been created with WD17.

Each widget can be moved around with the mouse as soon as the cursor shape change to the four direction pointer.
(When a widget is locked the cursor shape stay unchanged.)
The Animation switch: displays a fish swimming from one side to the other.
The Transparent switch: shows the underlaying Windows desktop in full transparent composited mode.
To change the image background click with the left or right mouse button onto the top left icon.
In this demo we use InitRandom to compute the random widget values, however in a real application they should come from device interfaces.

Screen shot:

Note: The WinDev binary version is attached to this post,
the WD17 source code is available on the PC-Soft "Online repository".

Pages: [1] 2 3 ... 10