1

je cherche une routine optimisée permettant d'affichée une ligne clippée en niveaux de gris dans n'imorte quel buffer, car la fonction GrayFastDrawLine2B de ExtGraph n'est pas clippée
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

2

ben pkoi tu la clippes pas ? elle est opensource ...

3

Mon petit doigt me dit qu'il sait pas clipper une ligne... grin
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

4

-

5

^^ euh... mais ça peut se faire en dehord de la routine de dessin aussi smile
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

6

-

7

Ba en quoi ça serait pas un vrai clipping ? ça revient strictement au même (et d'ailleurs, niveau performance, ça doît être equivalent)
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

8

-

9

trifus Hein ??? J'ai rien compris neutral
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

10

-

11

^^ j'ai pas que ça à faire en fait tongue (et puis de tt façon c exactement pareil qu'une routine de ligne non clipée, donc...)
Mais c pas ça qui m'aiderait à comprendre ce que tu as dis
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

12

-

13

Je pense, comme goldencrysal qu'il vau mieux clipper en dehors de la fonction de tracé de lignes.
Si c'est la fonction elle-même qui es clippée (ie : pour chaque pixel, elle teste ses coordonnées avan d'être sûre de pouvoir l'afficher) ça sera assez lent pour les grandes lignes, et pour que ce soit efficace, ça demanderait du code un peu bourrin et énorme.
Tandis que clipper en dehors ne nécessite que deux divisions et deux multiplications dans le pire des cas, ce n'est pas la mort.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

14

je coné pas l'asm je c pa la clipper
il me faut une routine clippé pasque en gale y'a ptresque toutes les ligne qui ont un bout en dehors de l'écran
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

15

Tu peux la clipper en C.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

16

Sinon, genlib propose des routines de lignes clippées.
Mais bon, si tu n'utilises genlib que pour ça, c'est un peu du gâchis...
Enfin, il y a aussi des routines de remplissage de triangles, peut-être que tu en auras besoin aussi...
Sinon, tu n'as qu'à télécharger un des moteurs 3d déjà existant, tu rajoutes une ou deux lignes pour ralentir le prog et ton jeu sera fait tritop
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

17

lolpaf
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

18

ben comme disait Sasume, c'est une bonne idée de clipper en dehors, pke généralement, ca s'insère bien dans une engine complete

19

C'est un peu plus lourd, mais c'est largement plus simple qd on ne connaît pas le fonctionnement d'une routine de tracé de ligne, et puis de toute façon c'est négligeable par rapport au coût lié à l'utilisation de floats dans le reste du programme cheeky

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

20

lol
Mais en quoi est-ce lourd ?
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

21

Bah ça oblige à faire des divisions en plus. Si tu traces plein de petites lignes (comme dans un moteur 3D si tu as une scène assez détaillées), ça va ralentir significativement (à condition d'avoir un algo de rotation/projection des points en 3D correct wink)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

22

^^ hmm oui, c'est vrai. Sur des lignes de taille moyenne, les deux méthodes se valent, mais ça diffère sinon smile
Mais pour un moteur 3D avec faces pleines (pas de wireframe), on peut se démerder avec juste des lignes horizontales, sinon smile

[hs]D'ailleurs, en parlant d'un algo de rotation/projection correct, j'avais pensé (j'aivais +/- commencé un moteur 3D pdt les vacances) faire une fonction d'assemblage dynamique (qui produirait une fonction optimisée bien sûr) pourr l'application de matrice (matrice A -> fonction_application_matrice A) en ce qui concerne celles utilisées très souvent ou qui changent très rarement. Est-ce que c'est possible (niveau protection d'éxécution) et est-ce que le gain de performance serait intéressant ?[/hs]
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

23

GoldenCrystal :
Mais pour un moteur 3D avec faces pleines (pas de wireframe), on peut se démerder avec juste des lignes horizontales, sinon smile

Oui y a intérêt, sinon t'es mal barré niveau vitesse hehe
[hs]D'ailleurs, en parlant d'un algo de rotation/projection correct, j'avais pensé (j'aivais +/- commencé un moteur 3D pdt les vacances) faire une fonction d'assemblage dynamique (qui produirait une fonction optimisée bien sûr) pourr l'application de matrice (matrice A -> fonction_application_matrice A) en ce qui concerne celles utilisées très souvent ou qui changent très rarement. Est-ce que c'est possible (niveau protection d'éxécution) et est-ce que le gain de performance serait intéressant ?[/hs]

C'est possible même sans HW3Patch, mais je pense qu'on ne gagne strictement rien niveau performance (sauf si on se retrouve souvent dans des cas particuliers où la caméra est à plat, ou bien où on a un zoom fixe [puissance de 2, par exemple] : ça permet alors de pas mal améliorer les choses).

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

24

Pollux
: C'est possible même sans HW3Patch

Non. Sauf si on met le code dans l'exécutable, mais alors autant le faire en temps de compilation.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

25

Non. On peut compresser l'exécutable et mettre des 0 à la place.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

26

./24>Ah nan, paske si tu le fais en temps de compilation tu perds toute la flexibilité que les changements de matrice permettent (et puis d'ailleurs, faire ça en temps de compilation, comment tu fais ?)
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

27

On génère du code C.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

28

Erf oui, mais bon, du code C... à ce moment là, autant utiliser la fonction de multiplication d'application codée en assembleur, ça prendra moin de place pour presque la même vitesse cheeky
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

29

c ou que je peut trouver la dernière version d'xlib?
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

30

lol, c pas XLib qu'il faut utiliser pr un tracé de ligne rapide ...