[4.60] light

Généralités sur la programmation 3D
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

[4.60] light

Message par blendman »

Ah lala , qu'est-ce que c'est chouette cette nouvelle version de PB :)

J'ai testé la fonction suivante :
LightPower(#light, power)

Mais chez moi, avec ou sans les ombres, ça ne semble pas marché.
Comment s'en sert-on s'il vous plait ? Merci :)

EDIT :
autre question : peut-on définir une distance pour la lampe, à partir de laquelle elle n'émet plus de lumière ?

EDIT 2 :
comment se sert-on de SpotLightRange()
Lorsque je l'utilise ça fait crasher la compilation sur mon exemple.

Merci :)
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: [4.60] light

Message par G-Rom »

je vais te bricolé un exemple demain ;)
Avatar de l’utilisateur
GeBonet
Messages : 453
Inscription : ven. 29/févr./2008 16:17
Localisation : Belgique

Re: [4.60] light

Message par GeBonet »

Bonsoir,
G-Rom a écrit :je vais te bricolé un exemple demain ;)
C'est parfait, d'autant que tu es à l'origine de pas mal de travaille dans cette version.
Félicitation ! Sans oublier "TMyke" évidement :?
Mais ce serais bien d'avoir aussi un minimum d'explication sur ces fonctions en attendant le manuel qui sera remanier parait-il... ?
Alors oui, il y a des exemples, mais une ligne ou deux ne feraient de mal à personne.
D'autant si on doit tester ! NON ?
Mais bon, ce n'est qu'un avis... :D
Et merci pour toute votre oeuvre (comme on dit) ! :D
Gerhard
Windows 7 et Windows 8.1 Pb 5.0 jusque 5.24 Lts 64 et 5.3 (64)/b]
“Ceux qui rêvent éveillés ont conscience de mille choses qui échappent à ceux qui ne rêvent qu’endormis.”
-Edgar Allan Poe-
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: [4.60] light

Message par blendman »

GeBonet a écrit :Mais ce serais bien d'avoir aussi un minimum d'explication sur ces fonctions en attendant le manuel qui sera remanier parait-il... ?
Alors oui, il y a des exemples, mais une ligne ou deux ne feraient de mal à personne.
Les explications vont arriver, il faut juste attendre un peu ;).
Je pense que l'aide sera mise à jour petit à petit, et des exemples vont aussi être proposés par la suite.

Il faut leur laisser un peu de temps pour dormir :D.

EDIT :
déjà, il y a ça :
Quick help for new 3D commands:
-------------------------------

CameraPitch(#Camera) - Retrieve the pitch of the #Camera.
CameraRoll(#Camera) - Retrieve the roll of the #Camera.
CameraYaw(#Camera) - Retrieve the yaw of the #Camera.
SwitchCamera(#Camera, #NewCamera) - Change the active #Camera with the #NewCamera.

ApplyEntityForce(#Entity, x, y, z []) - Apply a force to #Entity
ApplyEntityImpulse(#Entity, x, y, z []) - Apply a force to #Entity
EntityPhysicBody(#Entity, Type [, Mass [, Restitution, Friction]]) - Change the #Entity physic body
EntityPitch(#Entity) - Return the pitch of the #Entity.
EntityRoll(#Entity) - Return the roll of the #Entity.
EntityYaw(#Entity) - Return the yaw of the #Entity.
GetEntityAttribute(#Entity, Attribute) - Get the #Entity attribute value
GetEntityMaterial(#Entity) - Get the #Entity material
SetEntityAttribute(#Entity, Attribute, Value) - Set an #Entity attribute value
SetEntityMaterial(#Entity, MaterialID) - Set the #Entity material

PointJoint(#Entity, PivotX, PivotY, PivotZ [, #Entity2, PivotX2, PivotY2, PivotZ2])
GetJointAttribute, Long, Long, (#Entity, Attribute)
SetJointAttribute, Long, Long, Float, (#Entity, Attribute, Value)
FreeJoint(#Entity)
HingeJoint(#Entity, PivotX, PivotY, PivotZ, AxisX, AxisY, AxisZ, #Entity2, PivotX2, PivotY2, PivotZ2, AxisX2, AxisY2, AxisZ2)
ConeTwistJoint(#Entity, FxA, FyA, FzA, #Entity2, FxB, FyB, FzB)
SliderJoint(#Entity, FxA, FyA, FzA, #Entity2, FxB, FyB, FzB)

CreateLight(#Light, Color [, x, y, z [, Flags]]) - Create a new #Light.
LightDiffuseColor(#Light, Color)
SpotLightRange(#Light, InnerAngle, OutterAngle [, FallOff])
LightLookAt(#Light, x, y, z)
LightPower(#Light, Power)
DisableLightShadows(#Light, Disable)

MaterialDepthWrite(#Material, Enable) - Enable or disable the #Material depth write.
MaterialSelfIlluminationColor(#Material, Color) - Change the #Material self illumination color.
MaterialShininess(#Material, Shininess) - Change the #Material shininess.
GetScriptMaterial(#Material, Name$) - Get a material defined in scripts files.

BuildMeshShadowVolume(#Mesh)
CreateLine3D(#Mesh, x, y, z, Color, x2, y2, z2, Color2)
CreateCube(#Mesh, Size)
CreateSphere(#Mesh, Radius [Segments, Rings])
CreateCylinder(#Mesh, Radius, Length [, Tesselation, CloseTop, Oblique])
CreatePlane(#Mesh, TileSizeX, TileSizeZ, TileCountX, TileCountZ, TextureRepeatCountX, TextureRepeatCountY)
AddSubMesh()
MeshVertexCount(#Mesh [, SubMesh])
UpdateMeshBoundingBox(#Mesh)
MeshRadius(#Mesh)
AddMeshVertex(x, y, z)
MeshVertexNormal(x, y, z)
MeshVertexColor(Color)
MeshVertexTextureCoordinate(u, v)
AddMeshFace(Vertex1, Vertex2, Vertex3)
FinishMesh()
NormalizeMesh(#Mesh [, SubMesh])
SaveMeshLong, String, (#Mesh, Filename$)
SetMeshMaterial(#Mesh, MaterialID [, SubMesh])
SubMeshCount(#Mesh)
TransformMesh(#Mesh, x, y, z, ScaleX, ScaleY, ScaleZ, RotateX, RotateY, RotateZ [, SubMesh])

NodePitch(#Node) - Return the x position of the #Node.
NodeRoll(#Node) - Return the y position of the #Node.
NodeYaw(#Node) - Return the z position of the #Node.

CreateCompositorEffect(#Effect, CameraID, EffectName$)
CreateRibbonEffect(#Effect, MaterialID, NodeID, NbChains, NbElements, InitialWidth, Length)
FreeEffect(#Effect) - Free the specified #Effect.
HideCompositorEffect(#Effect, State)
CompositorEffectParameter(#Effect, CameraID, EffectName$, DataType, *Data)
IsEffect(#Effect) - Tests if the given '#Effect' is an initialized effect object.
RibbonEffectColor(#Effect, Color, FadeoutColor)

AddStaticGeometryEntity(#StaticGeometry, EntityID, x, y, z [, ScaleX, ScaleY, ScaleZ])
BuildStaticGeometry(#StaticGeometry)
CreateStaticGeometry(#StaticGeometry, Width, Height, Length, EnableShadows)
FreeStaticGeometry(#StaticGeometry) - Free the specified #StaticGeometry.
IsStaticGeometry(#StaticGeometry) - Tests if the given '#StaticGeometry' is an initialized effect object.

RenderWorld([ElapsedPhysicTime]) - Renders the 3D world on the screen.
ShowGUI(Intensity, ShowMouseCursor [#Camera, Enable]) - Shows or hides the GUI
WorldShadows(ShadowType [, Distance]) - Change the shadow handling in this world.
Avatar de l’utilisateur
GeBonet
Messages : 453
Inscription : ven. 29/févr./2008 16:17
Localisation : Belgique

Re: [4.60] light

Message par GeBonet »

Bonjour,
Merci, de l'avis, et effectivement sur le forum anglais ou je passe plus que régulièrement, tout comme sur le Blog il y a les "premières" explications..." comme encore cette première partie :
Libraries:
- added CanvasGadget(), CanvasOutput()
- added SetGadgetItemData() for PanelGadget
- added MoveElement(), MergeLists(), SplitList() commands
- added RandomizeList(), RandomizeArray()
- added PushListPosition(), PopListPosition(), PushMapPosition(), PopMapPosition()
- added ImageID parameter to OpenSubMenu()
- added #PB_ListIcon_ThreeState and #PB_ListIcon_Inbetween
- added #PB_Tree_ThreeState and #PB_Tree_Inbetween
- added crossplatform ComboBox events
- added 'Joint' library
- added 'SpecialEffect' library
- added 'StaticGeometry' library

Et encore :
- changed FindString() 'StartPosition' parameter to be optional
- changed WebGadget to use WebKitGtk on Linux
- changed ContainerGadget with #PB_Container_Borderless to no longer add a 2px invisible border on Linux
- changed EntityPhysicBody(), CreateLight(), RenderWorld(), ShowGUI, WorldShadows()

- removed: Get/SetEntityMass(), Get/SetEntityFriction()
- removed: SetMeshData() (temporary, needs to be updated)

IDE:
- added IDE options for commandline project building
- added monitoring of files for changes on disk while they are open in the IDE
- added FilePanel custom implementation with Drag & Drop, Dropdown menu, scrolling also on OSX
- added Diff tool for directories/files
- added Html help viewer for Linux/OSX
- added Help viewer in toolspanel
- new Color Picker tool
- enabled font selection in IDE for OSX
- ProjectPanel now remembers node expanded states

Debugger:
- added maximize button to all debugger windows
- added all IsXxx() and XxxID() functions to the expression parser (for data breakpoints)
ET la note ou effectivement on nous dit qu'il faudra attendre la fin pour avoir un Manuel "recustomizé", avec cette fois plus de descriptions sur ce qu'on envois et recevons au retour (ce que je reprochais comme manquant au manuel de base depuis des années). Qu'il n'est pas encore finis, mais que cela le sera pour la version finale ! Soit :

Manual:
- The manual is being updated to a new format which more clearly describes
individual function parameters and return values. This is not yet complete,
but will be finished for the final release.
Mais quand je souligne qu'une au deux lignes d'explications serais la bien venue, c'est à chaque fois que quelqu'un "découvre" cette l'utilisation, il le communique aussi avec son code...
C'est pas toujours évident pour tous, et là je ne parle pas seulement des fonctions 3D qui d'une certaines manières sont plus évidentes et un peu commentée.
Et rien pour la première partie (ci-dessus), comme "CanvasGadget()" par exemple introduit un Gadget particulier, un "Canevas" ou surface "graphique"... et autres non commentée qui peuvent modifier pas mal la manière de coder et traiter les LIst ou Map Gadget !
Alors comment tester valablement les Bug ? Si d'office nous en provoquons qui dans le fond ne sont que des erreurs de forme d'usage !
Je sais très bien qu'ils doivent dormir :wink: Mais j'estime que même dans une version Beta, il doit y avoir un minimum d'explication : Comme le pourquoi de la fonction et son usage plus les paramètres en entrée et ce qu'on peut en attendre en sortie. Soit 2 ou 3 lignes max... :roll:
Soit de quoi pouvoir tester valablement et apporter notre collaboration en testant consciemment et non à l'aveugle ! :wink:
Je ne doute pas de tout viens à point à qui sait attendre 8) Mais alors ne testons rien et attendons stoïquement que les bug soient évacué :wink:
Mais bon, ce n'est qu'un avis !
Windows 7 et Windows 8.1 Pb 5.0 jusque 5.24 Lts 64 et 5.3 (64)/b]
“Ceux qui rêvent éveillés ont conscience de mille choses qui échappent à ceux qui ne rêvent qu’endormis.”
-Edgar Allan Poe-
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: [4.60] light

Message par G-Rom »

je suis d'accord , mais moi je code , je m'occupe pas de la doc, ni de la mise en boite , donc vois avec Fred :mrgreen:
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: [4.60] light

Message par blendman »

G-Rom a écrit :moi je code
et tu codes super bien :D !
Encore merci pour tout ce que tu apportes pour la 3D à Purebasic, c'est la grande classe ;).

Au fait, hier, j'ai réussi, grâce au lien que tu m'avais donné à faire un env_map. C'est pas mal du coup, et la doc d'ogre sur les materials est bien instructive. on voit qu'on peut faire beaucoup de choses.
Tout est opérationnel avec purebasic, niveau material ?
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: [4.60] light

Message par G-Rom »

je vais codé des exemples , laisse moi un peu de temps ^^
la prochaine bêta devrais avoir les commandes manquantes , c'est plus simple pour codé ^^
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: [4.60] light

Message par blendman »

G-Rom a écrit :je vais codé des exemples , laisse moi un peu de temps ^^
la prochaine bêta devrais avoir les commandes manquantes , c'est plus simple pour codé ^^
youhou :D
et c'est quoi ces commandes manquantes, hein, hein ?
s'te plait ? hein ?:mrgreen:

Au fait, j'ai commencé à te faire des modèles pour les exemples pour Purebasic et ça va être fort sympatoche :D
Avatar de l’utilisateur
GeBonet
Messages : 453
Inscription : ven. 29/févr./2008 16:17
Localisation : Belgique

Re: [4.60] light

Message par GeBonet »

G-Rom a écrit :je suis d'accord , mais moi je code , je m'occupe pas de la doc, ni de la mise en boite , donc vois avec Fred :mrgreen:
Je comprends très bien ta position et ce n'est pas spécialement à toi que je m'adresse qui apporte déjà pas mal de chose a l'"affaire" :lol:
C'est simplement une remarque générale et récurrente !
Soit dit en passant chapeau pour le travaille :D .
En fait, est-ce que vous vous appuyez sur Engine3D.dll, du moins pour la partie graphique ?
La dessus merci pour le Boulot !
Gerhard
Windows 7 et Windows 8.1 Pb 5.0 jusque 5.24 Lts 64 et 5.3 (64)/b]
“Ceux qui rêvent éveillés ont conscience de mille choses qui échappent à ceux qui ne rêvent qu’endormis.”
-Edgar Allan Poe-
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: [4.60] light

Message par G-Rom »

En fait, est-ce que vous vous appuyez sur Engine3D.dll, du moins pour la partie graphique ?
Oui , d'ailleurs j'ai accès qu'a cette partie du code , je contribue uniquement à cette librairie.
Répondre