Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
165 user(s) are online (135 user(s) are browsing Forums)

Members: 0
Guests: 165

more...

Headlines

Forum Index


Board index » All Posts (thellier)




Re: BSzili port requests
Not too shy to talk
Not too shy to talk



Hello

after the glEnableClientState(GL_TEXTURE_COORD_ARRAY);
add a glDisableClientState(GL_COLOR_ARRAY);
It may help as it seems to want to draw the rect with a flat color

Alain Thellier

Go to top


Re: MAME Musings with graphics
Not too shy to talk
Not too shy to talk


Hello

>The primitives are mostly textured quads- they're the ones I'm interested in.

then use compositetags to draw them :
a quad = 2 tris
several quad =several tris in a single CompositeTags call
Just copy the whole "sprites map" "fonts map" etc to VRAM and pick inside this big bitmap the quads that you need

>But put them all together, and you have 0x7FFF
Perhaps it is not R5GB5 but B5G5R5 with PC ordering : i mean the 2 bytes swapped

Cant say more without seeing the display...
Do you have a source+binary i can test on my Sam440

Alain







Go to top


Re: MAME Musings with graphics
Not too shy to talk
Not too shy to talk


Hello

Overlay pip window use YUV no ?

Alain

Go to top


Re: MAME Musings with graphics
Not too shy to talk
Not too shy to talk


Hello

>every time a primitive is created
> (there's quite a few primitives)

I dont know what are your "primitives" pixels ? lines ? triangles ? rectangles ? shapes ?
But perhaps you can use Warp3D (lines,points,triangles) or Compositing (triangles) to draw your primitives in graphics memory.

Alain Thellier


Go to top


Re: C tool to obtain functions-tree, function adresses & sizes ??
Not too shy to talk
Not too shy to talk


Hello


>Functions-adresse from binary : extract function names and offsets : thing like function foo() begin at offset 2000 and finish at offset 14000 (so is 12000 long)
OK I have made a little C program "ObjDumpFuncs"
that do that from an objdump file

It give this result

<ObjDumpFuncs: Microbe3D.asm >
<============================>
Function 0 01000074 16777332 _start 36 bytes
Function 1 01000098 16777368 libOpen 136 bytes
Function 2 01000120 16777504 libClose 100 bytes
Function 3 01000184 16777604 libExpunge 272 bytes
Function 4 01000294 16777876 libInit 228 bytes
[...]
Function 121 010051b4 16798132 LIB_Open 4 bytes
Function 122 010051b8 16798136 LIB_Init 80 bytes
[...]
Function 402 0101a9e8 16886248 ShowPointNearMouse 472 bytes
Function 403 0101abc0 16886720 OSLoadDT 596 bytes
Function 404 0101ae14 16887316 OSLoadT 308 bytes
Function 405 0101af48 16887624 ReadMTL 1640 bytes
Function 406 0101b5b0 16889264 ReadOBJ1 804 bytes
Function 407 0101b8d4 16890068 AutoSkinVN 1604 bytes
[...]
Function 430 01020000 16908288 SetMst 96 bytes
Function 431 01020060 16908384 SetMt 84 bytes
Function 432 010200b4 16908468 SetMs 96 bytes
Function 433 01020114 16908564 SetMr 480 bytes
Function 434 010202f4 16909044 MultMr 272 bytes
Function 435 01020404 16909316 MultM 564 bytes
Function 436 01020638 16909880 ClipTriangle 12332 bytes
[...]
Function 510 01033b70 16989040 strcpy 8 bytes
Function 511 01033b78 16989048 strlen 8 bytes
Function 512 01033b80 16989056 __NewlibCall 20 bytes
<============================>
<Functions: 513 >
<Average size: 412 >
<Max size: 12332 >
<Min size: 4 >

>Functions-tree from a C source : what function call another function,etc...
I obtain something like that

[...]
Call 3052 101a3b4 16884660 Function ReadOBJ2 to ReadLine
Branch 3053 101a3bc 16884668 Function ReadOBJ2
Call 3054 101a3cc 16884684 Function ReadOBJ2 to ReadName
Branch 3055 101a3d8 16884696 Function ReadOBJ2
Branch 3056 101a3e0 16884704 Function ReadOBJ2
[...]
Branch 3064 101a430 16884784 Function ReadOBJ2
Call 3065 101a438 16884792 Function ReadOBJ2 to NewListItem
Call 3066 101a448 16884808 Function ReadOBJ2 to ReadFloats
Call 3067 101a450 16884816 Function ReadOBJ2 to ReadLine
[...]
Not exactly a function-tree but all thta is needed to draw one

I will post the program to os4depot soon... if someone is interested

Alain Thellier




Go to top


Re: C tool to obtain functions-tree, function adresses & sizes ??
Not too shy to talk
Not too shy to talk


@all

Many thanks for you help

Alain

Go to top


Re: I do not have an ENVARC:Warp3D/ drawer.
Not too shy to talk
Not too shy to talk


You can check your Warp3D speed with Aminet/Cow3D
Cow3D only use Warp3D (no MiniGl no StormMesa no GL at all...) so will give your "raw" Warp3D performance

Hitting key "b" will bufferize all the animated coordinates : so the cow will turn without (much) cpu usage
so
normal Cow3D = raw CPU+Warp3D speed
'b' Cow3D = raw Warp3D speed

For my Sam440 I obtain 41/45 fps so around 260 000 triangles/second (for this 5813 triangles cow)

Alain Thellier

Go to top


C tool to obtain functions-tree, function adresses & sizes ??
Not too shy to talk
Not too shy to talk


Hi everyone

Is there some Amiga tools for C langage developpement that will do :

Functions-tree from a C source : what function call another function,etc...

Functions-adresse from binary : extract function names and offsets : thing like function foo() begin at offset 2000 and finish at offset 14000 (so is 12000 long)
So will know where is each function in binary and what size it occupy

Thanks

Alain Thellier

Go to top


Re: Arexx calling OpenLibrary/CloseLibrary for each .library call: how to change that?
Not too shy to talk
Not too shy to talk


Hello

@all
Thanks for your help and explanations
I will investigate the ARexx port solution and especially Simplerexx

For the moment I have founded a a work-around:

Usually a Microbe3D programe is maded this way

Scene =U3D_OpenScene(...);
Load some 3d objets
loop animating the 3d objets
finish the prog
U3D_Delete(Scene);

So a Scene is like a GL Context : nothing can be done without it
So I added "ScenesCount" global counter

U3D_OpenScene(...) do ScenesCount++;
U3D_EasyOpenScene(...) do ScenesCount++;
U3D_Delete(Scene) do ScenesCount--;

And I modified my Microbe3D libary header this way

ASM(SEGLISTPTR) LibClose(REG(a6, struct ExampleLibrary * libBase))
{

libBase->LibNode.lib_OpenCnt--;
if(ScenesCount!=0)
return 0;

LIB_Close(); /* close amiga libraries */
if(!(libBase->LibNode.lib_OpenCnt))
{
if(libBase->LibNode.lib_Flags & LIBF_DELEXP)
return LibExpunge(libBase);
}
return 0;
}
For the moment it works (will need deeper test anyway...) enough to allow me to test the arexx-function and the
the ability to make arex-script that use Microbe3D
So I have right now an arexx-script that load 2 differents dancing-bears anims and play them : so the arexx part seems to works
But I will test more...


BTW Does exists rexxsupport.library for PPC/OS4 ? How is it done as the 68k version was used to return error and argstring to arexx in d0 AND a0 ?
Alain Thellier




Go to top


Re: Arexx calling OpenLibrary/CloseLibrary for each .library call: how to change that?
Not too shy to talk
Not too shy to talk



@broadblues
>extended the lib base whit dependent_base, dependent_interface

Sorry I dont understand what you wrote (my poor english..) did you mean "create an other .library that will call microbe3d.library" indirectly?

@Belxjander
>I have at least two public examples without the ARexx functionality ... to read and re-use
??? Dont understand too : Do you mean that you have an example thtat disable the arexx's Openlib/closelib feature ?

@broadblues
>So you have created an ARexx interface to your library in the same way as for instance datatypes.library has?
Yes

>So you access from arexx by adding the library to the library list?
Yes

> create a small host program that could be started from the ARexx script and provide an ARexx port offering the commands.

Nice :How can I do that ? Example source ? (I am a perfect arexx noob)

THANKS TO ALL

PS: Also I had an idea : In my own Microbe3D/CloseLib function make some kind of check "if called from arexx dont let CloseLib happen"


Alain




Go to top


Arexx calling OpenLibrary/CloseLibrary for each .library call: how to change that?
Not too shy to talk
Not too shy to talk


Hello

I have created my own .library : Microbe3D.library

I have also maded an arexsupport-function inside my Microbe3D.library
Then I can call Microbe3D from a simple Arexx script
(yeees It will allow 3D without knowing C
About Microbe3D
http://www.youtube.com/user/wazp3d
)

BUUUT each call is inside an OpenLibrary/CloseLibrary

That cause problems because Microbe3D is supposed to have a single librray-base and not one that change for each function

So the question : "How to avoid that way of functionning and make arexx use the same Microbe3D library-base all the time ?"

THANKS

Alain Thellier (aka Wazp3D)


Go to top


Re: What's the status of OpenGL porting on OS4?
Not too shy to talk
Not too shy to talk


>is WinSys the final element required to get Gallium's 3D drivers working on Amiga OS?

No in fact it seems to be the first step :-/
(just my point of view : I am not an os4 dev)
WinSys manage screen & textures allocation on the video card
So porting Gallium3D (even as software-only) need to have a screen to render

Mesa/Gallium3D with software rendering only has been reported to already exist on OS4 ... I suppose it is too slow to be available
(just my point of view : I am not an os4 dev)
31 march 2013
http://blog.hyperion-entertainment.biz/?p=863

"•Gallium : bumped to Mesa 9.1, i.e. OpenGL 3.1. Software renderer already implemented, work on hardware accelerated drivers within the framework of Gallium will benefit substantially by the experience gained developing Warp3D drivers for the AMD Radeon Evergreen range (Radeon HD 5xxx/6xxx)."

About WinSys functions more infos here ("pipe" mean "Gallium3D") :
http://dri.freedesktop.org/doxygen/ga ... 663c77af5281412f554de5e52


Alain Thellier


Go to top


Re: Coming soon from Huno
Not too shy to talk
Not too shy to talk


Hello all

You can also test your 3D card with Aminet/Cow3D

As it dont use SDL nor MiniGL but only basic Warp3D so it give the maximum speed you can expect with your card (with a Warp3D driver. I hope a Gallium3D driver will be faster...)

Running simply cow3D give an fps value : it is a transform+draw speed (cpu speed + bus speed + gpu speed)
Then type 'b' it will bufferize the animation (ie no more calculate the cow rotation) and give an other fps value = this one is the "draw" speed only (bus speed + gpu speed)

Alain Thellier





Go to top


Re: A small (and dangerous) new years gift for the os4 community :)
Not too shy to talk
Not too shy to talk


>you could render multiple characters with one CompositeTags() call using vertex arrays

Once again: just look in CompositePoc how the text is drawn on screen...
(It use CompositeTags() + vertex arrays + all fonts in a bitmap)

Alain

Go to top


Re: A small (and dangerous) new years gift for the os4 community :)
Not too shy to talk
Not too shy to talk


Hello

see aminet compositepoc.lha for an exemple using vertex array


Alain

Go to top


Re: A small (and dangerous) new years gift for the os4 community :)
Not too shy to talk
Not too shy to talk


Hello and Happy New Year

I agree with Hans : What are you trying to do with "CompositeTags from drawing TO alpha8 bitmaps" ???!??

Or you mean "drawing FROM an alpha8 and from an RGB24 to an ARGB screen"

Else just use an ARGB bitmap with the alpha builtin...

Alain Thellier

Go to top


Re: BSzili port requests
Not too shy to talk
Not too shy to talk


@kas1e

I have already seen a kind of "rebinding texture that does not exist" bug in an other program (Huno's quake 3 ?) with the Wazp3D debugger : seems so be a MiniGL bug that try to set up texturing (W3D_BindTexture + W3D_SetTextureBlendTags) even if the textures have beeen freed

Alain Thellier

Go to top


Re: why not Dosbox with overlay and composition
Not too shy to talk
Not too shy to talk


>About overlay i know but scaled a winodw 320x240 to 640x480 will be for sure more faster of a 640x480 emulated ;)

So try Aminet/CloneWindow : It is maded to clone a window/screen to an other resizable window with Compositing
Perhaps it will works with dosbox... (but it dont works with basilisk)

Alain Thellier

Go to top


Re: BSzili port requests
Not too shy to talk
Not too shy to talk


Hello guys

You can also use Wazp3D for his debugger
Select
Enable Debugger
Debug Function
Debug Var name
Debug Var value
Debug Error
But as WaZp3D got less limitations you should not have all the WaRp3D errors ...so not so usefull


Also disabling
HardwareDriver Lie
TexFmt Lie
may help as WaZp3D will then report errors on his unimplemented features (like say stencil) else will just pretend (lie) that it can do it too
Also use renderer: Soft to bitmap because this renderer implement almost all features (not like Compositing2D)
It will be slow but not a problem for debugging on a g4


Note that often texture sizes are limited to 256x256 on Amigaish systems (btw this kind of prog should better use compositing to draw a big rectangular background)
You can obtain a list of implemented Warp3D features (and texture sizes) for a peculiar Warp3D driver with Aminet/Cow3D debug output



If the glcontext is closed then the following glDeleteTextures() calls are useless as the textures have (should) been freed on VRAM

Alain Thellier



Go to top


Re: UFOAI - How do you run it?
Not too shy to talk
Not too shy to talk


Hello
> Wazp3d [...]the prefs program wont work
Then Wazp3D is certainly badly installed...
Have you tried an other 3D program to see if Wazp3D works?
Typically try it with Aminet/Cow3D

For OS4 machines it only need to copy
Wazp3D.library-ppc to libs:Warp3D.library

Also perhaps UFOAI is not compatible with Wazp3D ... I dont remember if I have ever tried this program

Alain Thellier - Wazp3D

Go to top



TopTop
« 1 ... 8 9 10 (11) 12 13 14 »




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project