Page 1 sur 1

[4.60] light

Publié : ven. 08/avr./2011 11:35
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 :)

Re: [4.60] light

Publié : ven. 08/avr./2011 22:06
par G-Rom
je vais te bricolé un exemple demain ;)

Re: [4.60] light

Publié : ven. 08/avr./2011 23:12
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

Re: [4.60] light

Publié : ven. 08/avr./2011 23:32
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.

Re: [4.60] light

Publié : sam. 09/avr./2011 9:09
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 !

Re: [4.60] light

Publié : sam. 09/avr./2011 10:12
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:

Re: [4.60] light

Publié : sam. 09/avr./2011 10:19
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 ?

Re: [4.60] light

Publié : sam. 09/avr./2011 10:24
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é ^^

Re: [4.60] light

Publié : sam. 09/avr./2011 10:40
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

Re: [4.60] light

Publié : sam. 09/avr./2011 11:52
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

Re: [4.60] light

Publié : sam. 09/avr./2011 14:00
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.