Cherche API pour faire des polygons

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Cherche API pour faire des polygons

Message par SPH »

Salut,

Comme d'hab, je ne sais pas ou trouver les API que je recherche. Je cherche une API qui trace un polygon de X points et REMPLI de la couleur que l'on veux.

merci

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Cherche API pour faire des polygons

Message par kernadec »

bonjour SPH
regarde le travail génial de Trond sur le sujet des polygones sur le forum english http://www.purebasic.fr/english/viewtop ... 12&t=44074


Cordialement
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Cherche API pour faire des polygons

Message par G-Rom »

Tu peut la codé toi même.
- Création d'une matrice de perspective.
- Création d'une matrice vue ( camera ).
- Création des polygones dans un espace 3D ( avec des coordonnée spatiale XYZ ).
- Création d'une matrice "vue" ( de l'ensemble des polygones , ce qui forme un mesh ).
- Application des transformation ( translation , rotation , échelle ) de la matrice "vue" des polygones.
- Multiplication de la matrice "vue" (camera) a celle de projection.
- Multiplication de la matrice projection (résultat de la multiplication précédente ) à la matrice vue de du mesh.
- Projection des vertices du mesh sur le plan écran ( coordonnées entre 0&1 ).
- Multiplication des résultat de projection par la résolution de l'écran.
- Rasterization des polygones à l'écran.
J'ai réussi à codé moi même les instruction OpenGL du type glRotatef() glPushMatrix() etc... en pb pour les opération matricielle.
je te conseil de recherché christophe Heulin (sur google) pour faire de la 3d with nothing ^^
y a que comme ca que l'on apprend , tu verras que tu mettras vite en place un pipeline de rendu en software. ;)
si tu as des question , n'hésite pas.


Sinon , tu as OpenGL :

Code : Tout sélectionner

glBegin(GL_TRIANGLES);
 glVertex3f(0,0,0);
 glVertex3f(10,0,0);
 glVertex3f(10,10,0);
glEnd();
;)
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Re: Cherche API pour faire des polygons

Message par SPH »

Et l'api la plus simple concernant des polygones pleins ??

@Grom : tu as un exemple tres basic dans un screen ?

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Cherche API pour faire des polygons

Message par G-Rom »

Qu'est ce que tu veut faire exactement ?
Faire un petit moteur 3D ? ou juste afficher un triangle ?
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Re: Cherche API pour faire des polygons

Message par SPH »

G-Rom a écrit :Qu'est ce que tu veut faire exactement ?
Faire un petit moteur 3D ? ou juste afficher un triangle ?
Juste afficher un polygone 2D :|

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Cherche API pour faire des polygons

Message par G-Rom »

le lien de kernadec ne te conviens pas ?
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Re: Cherche API pour faire des polygons

Message par SPH »

G-Rom a écrit :le lien de kernadec ne te conviens pas ?
Non car il programme lui meme comment afficher un polygone. C'est trop compliqué et certainement plus long a afficher qu'avec une api.
Je cherche bien l'API polygone qui doit forcement exister...

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Re: Cherche API pour faire des polygons

Message par flaith »

Elle existe, sur msdn tu as cette fonction : http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Cherche API pour faire des polygons

Message par GallyHC »

Bonjour,

La fontion polygon existe en API, donc je supose que Polygon_() fonctionne.

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Cherche API pour faire des polygons

Message par kernadec »

bonsoir
j'ai retrouvé un vieux code du forum anglais d'AJK
si ca peut t'aider pour cette fonction

Cordialement

Code : Tout sélectionner

; Auteur AJK Forum english  Polygon  AKJ  04-Sep-04
; SetPolyFillMode_() Demo

; Read polygon co-ordinates (5-pointed star)
Dim ps.Point(4) ; Array of 5 POINT structures
For p=0 To 4: Read ps(p)\x: Read ps(p)\y: Next p
DataSection
	Data.l 60,10, 20,100, 115,42, 5,42, 100,100
EndDataSection

; GUI constants
Enumeration 1
	#winMain
	#imgPolygon ; Image gadget
EndEnumeration

; GUI metrics
gap=20 ; Border
imgw=140: imgh=imgw*2 ; ImageGadget
winw=imgw+gap*2: winh=imgh+gap*2 ; Window

; Create GUI, ignoring errors (let the debugger catch them)
flags= #PB_Window_SystemMenu
OpenWindow(#winMain,0,0,winw,winh,"Poly Fill Mode",flags)

ImageGadget(#imgPolygon,gap,gap,0,0,0,#PB_Image_Border) ; Width, height will be that of image

; Define colours
red=RGB(255,0,0)
green=RGB(0,255,0)

; Define drawing area
img=CreateImage(#PB_Any,imgw,imgh)
hDC=StartDrawing(ImageOutput(img))
; Set the background to red
BackColor(RGB(Red(red),Green(red),Blue(red))) ; I wish the syntax was better !!!
Box(0,0,imgw,imgh,red) ; Would be nice to have a Cls() facility !!!
; Set the foreground to green
FrontColor(RGB(Red(green),Green(green),Blue(green))) ; I wish the syntax was better !!!

; Draw first closed polygon
DrawText(0,0," ALTERNATE") ; The default fill mode
SetWindowOrgEx_(hDC,0,-15,#Null) ; Move origin downwards
Polygon_(hDC,@ps(0),5)

; Draw second closed polygon below the first
SetWindowOrgEx_(hDC,0,-145,#Null)
DrawText(0,150," WINDING")
SetPolyFillMode_(hDC,#WINDING)
SetWindowOrgEx_(hDC,0,-160,#Null) ; The new origin is relative to the original origin
Polygon_(hDC,@ps(0),5)

; Release device context
StopDrawing()

; Display the drawing in an image gadget so that it is persistent
SetGadgetState(#imgPolygon,ImageID(img)) ; Must have ImageID() or UseImage(#image)

; AKJ standard skeleton event loop
done=#False
Repeat
	ev = WaitWindowEvent()
	If ev=#PB_Event_Menu: ev=#PB_Event_Gadget: EndIf ; To map shortcut keys to gadgets
	Select ev
	Case #PB_Event_Gadget
		Select EventGadget()
		; !!!
		EndSelect
	Case #PB_Event_CloseWindow
		done=#True
	EndSelect
Until done
CloseWindow(#winMain)
End
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Cherche API pour faire des polygons

Message par G-Rom »

Donc , tu as opengl... comme je te l'ai dis plus haut.
tu as des exemples à la pelles sur les fofo.
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Re: Cherche API pour faire des polygons

Message par SPH »

Ok, c'est ce qu'il me faut. Thxxxx :P

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Répondre