Показать сообщение отдельно
Старый 28.08.2012, 18:24   #4
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Blitz3D и CellShader

Для примитивов сойдет.
Global tex,cam,planet,glow

Graphics3D 1024,768,32,2

	camera=CreateCamera()
		CameraZoom camera,1.5
		
	cube = CreateCube ()
		Cel_Shade (cube,0.05,255) 
	sphere = CreateSphere (6)
		Cel_Shade (sphere,0.05,255)
		PositionEntity sphere,-5,0,0
	light=CreateLight(2)
		MoveEntity light,1000,1000,-1000
		MoveEntity camera,0,0,-10


While Not KeyHit(1)
	TurnEntity cube,0.4,0.2,0.2
	TurnEntity sphere,0.4,0.3,0.2

	RenderWorld ()
	Flip
Wend
End


Function Cel_Shade (Shaded_Entity, OutlineScale#=0.025, r#=0, g#=0, b#=0) 
    Local Outline_Entity = CopyMesh(Shaded_Entity)         
    UpdateNormals (Outline_Entity)  
    EntityFX (Outline_Entity, 1+8) 
     
     
    Local i 
    For i = 1 To CountSurfaces(Outline_Entity) 
         
        Local surf = GetSurface(Outline_Entity, i) 
        Local j 
         
        For j = 0 To CountVertices(surf) - 1 
            Local Vx#  = VertexX#(surf, j) 
            Local Vy#  = VertexY#(surf, j) 
            Local Vz#  = VertexZ#(surf, j) 
            Local VNx# = VertexNX#(surf, j) 
            Local VNy# = VertexNY#(surf, j) 
            Local VNz# = VertexNZ#(surf, j) 
            VertexCoords (surf, j, Vx#+(VNx#*OutlineScale#), Vy#+(VNy#*OutlineScale#), Vz#+(VNz#*OutlineScale#)) 
        Next 
         
    Next 
     
    FlipMesh Outline_Entity 
    EntityColor Outline_Entity, r, g, b 
	RotateEntity Outline_Entity,EntityPitch (Shaded_Entity, True),EntityYaw (Shaded_Entity, True),EntityRoll (Shaded_Entity, True)
    PositionEntity Outline_Entity, EntityX#(Shaded_Entity, True), EntityY#(Shaded_Entity, True), EntityZ#(Shaded_Entity, True) 
    EntityParent Outline_Entity, Shaded_Entity 
End Function
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо Nex за это полезное сообщение:
Кирпи4 (06.09.2012), LLI.T.A.L.K.E.R. (30.08.2012), Nikich (08.09.2012), Wegox (28.08.2012)