Показать сообщение отдельно
Старый 18.01.2011, 22:17   #5
DeeJex
Разработчик
 
Аватар для DeeJex
 
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений
(для 329 пользователей)
Ответ: Материалы Link in Paint

В эксте только постеризация.
Обводка:
Graphics3D 1024,768  
SetBuffer BackBuffer()  

camera=CreateCamera()  
PositionEntity camera,0,7,-10 

light=CreateLight()  

plane=CreatePlane() 
PositionEntity plane,0,-5,0 

; Создание куба  
cube=CreateCube() 
Cel_Shade(cube,0.3) 

sphere=CreateSphere() 
Cel_Shade(sphere,0.3) 

PositionEntity cube,-5,0,10 
PositionEntity sphere,5,0,10 

While Not KeyDown( 1 ) 

TurnEntity cube,5,2,.05 
TurnEntity sphere,5,2,.05 

UpdateWorld() 
RenderWorld  
Flip  
Wend  

End 

Function Cel_Shade(Shaded_Entity, OutlineScale#) 

Outline_Entity = CopyMesh(Shaded_Entity) 
   
UpdateNormals Outline_Entity 
   
EntityFX Outline_Entity, 1+8 
   
Surfaces = CountSurfaces(Outline_Entity) 
For LOOP_Surface = 1 To Surfaces 
Surface_Handle = GetSurface(Outline_Entity, LOOP_Surface) 

Verts = CountVertices(Surface_Handle) - 1 
For LOOP_Verts = 0 To Verts-1 
Vx# = VertexX#(Surface_Handle, LOOP_Verts) 
Vy# = VertexY#(Surface_Handle, LOOP_Verts) 
Vz# = VertexZ#(Surface_Handle, LOOP_Verts) 
VNx# = VertexNX#(Surface_Handle, LOOP_Verts) 
VNy# = VertexNY#(Surface_Handle, LOOP_Verts) 
VNz# = VertexNZ#(Surface_Handle, LOOP_Verts) 
If vnx<50 And vny<50 And vnz<50 Then VertexCoords Surface_Handle, LOOP_Verts, Vx#+(VNx#*OutlineScale#), Vy#+(VNy#*OutlineScale#), Vz#+(VNz#*OutlineScale#) 
Next 
Next 

FlipMesh Outline_Entity 

EntityColor Outline_Entity, 20, 20, 20 
PositionEntity Outline_Entity, EntityX#(Shaded_Entity, True), EntityY#(Shaded_Entity, True), EntityZ#(Shaded_Entity, True) 
   
EntityParent Outline_Entity, Shaded_Entity 
End Function
__________________
299 792 458
(Offline)
 
Ответить с цитированием