light.material 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506
  1. material lighting
  2. {
  3. u_textureRepeat = 1.5, 1.5
  4. technique unlit
  5. {
  6. pass 0
  7. {
  8. // shaders
  9. vertexShader = res/shaders/textured.vert
  10. fragmentShader = res/shaders/textured.frag
  11. defines = TEXTURE_REPEAT
  12. // uniforms
  13. u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX
  14. // samplers
  15. sampler u_diffuseTexture
  16. {
  17. path = res/png/brick.png
  18. mipmap = true
  19. wrapS = REPEAT
  20. wrapT = REPEAT
  21. minFilter = NEAREST_MIPMAP_LINEAR
  22. magFilter = LINEAR
  23. }
  24. // render state
  25. renderState
  26. {
  27. cullFace = true
  28. depthTest = true
  29. }
  30. }
  31. }
  32. technique directional
  33. {
  34. pass 0
  35. {
  36. // shaders
  37. vertexShader = res/shaders/textured.vert
  38. fragmentShader = res/shaders/textured.frag
  39. defines = TEXTURE_REPEAT;DIRECTIONAL_LIGHT_COUNT 1
  40. // uniforms
  41. u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX
  42. u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX
  43. // samplers
  44. sampler u_diffuseTexture
  45. {
  46. path = res/png/brick.png
  47. mipmap = true
  48. wrapS = REPEAT
  49. wrapT = REPEAT
  50. minFilter = NEAREST_MIPMAP_LINEAR
  51. magFilter = LINEAR
  52. }
  53. // render state
  54. renderState
  55. {
  56. cullFace = true
  57. depthTest = true
  58. }
  59. }
  60. }
  61. technique directionalSpecular
  62. {
  63. pass 0
  64. {
  65. // shaders
  66. vertexShader = res/shaders/textured.vert
  67. fragmentShader = res/shaders/textured.frag
  68. defines = TEXTURE_REPEAT;SPECULAR;DIRECTIONAL_LIGHT_COUNT 1
  69. // uniforms
  70. u_worldViewMatrix = WORLD_VIEW_MATRIX
  71. u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX
  72. u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX
  73. // samplers
  74. sampler u_diffuseTexture
  75. {
  76. path = res/png/brick.png
  77. mipmap = true
  78. wrapS = REPEAT
  79. wrapT = REPEAT
  80. minFilter = NEAREST_MIPMAP_LINEAR
  81. magFilter = LINEAR
  82. }
  83. // render state
  84. renderState
  85. {
  86. cullFace = true
  87. depthTest = true
  88. }
  89. }
  90. }
  91. technique directionalBumped
  92. {
  93. pass 0
  94. {
  95. // shaders
  96. vertexShader = res/shaders/textured.vert
  97. fragmentShader = res/shaders/textured.frag
  98. defines = TEXTURE_REPEAT;BUMPED;DIRECTIONAL_LIGHT_COUNT 1
  99. // uniforms
  100. u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX
  101. u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX
  102. // samplers
  103. sampler u_diffuseTexture
  104. {
  105. path = res/png/brick.png
  106. mipmap = true
  107. wrapS = REPEAT
  108. wrapT = REPEAT
  109. minFilter = NEAREST_MIPMAP_LINEAR
  110. magFilter = LINEAR
  111. }
  112. sampler u_normalmapTexture
  113. {
  114. path = res/png/brickn.png
  115. mipmap = true
  116. wrapS = REPEAT
  117. wrapT = REPEAT
  118. minFilter = NEAREST_MIPMAP_LINEAR
  119. magFilter = LINEAR
  120. }
  121. // render state
  122. renderState
  123. {
  124. cullFace = true
  125. depthTest = true
  126. }
  127. }
  128. }
  129. technique directionalSpecularBumped
  130. {
  131. pass 0
  132. {
  133. // shaders
  134. vertexShader = res/shaders/textured.vert
  135. fragmentShader = res/shaders/textured.frag
  136. defines = TEXTURE_REPEAT;SPECULAR;BUMPED;DIRECTIONAL_LIGHT_COUNT 1
  137. // uniforms
  138. u_cameraPosition = CAMERA_VIEW_POSITION
  139. u_worldViewMatrix = WORLD_VIEW_MATRIX
  140. u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX
  141. u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX
  142. // samplers
  143. sampler u_diffuseTexture
  144. {
  145. path = res/png/brick.png
  146. mipmap = true
  147. wrapS = REPEAT
  148. wrapT = REPEAT
  149. minFilter = NEAREST_MIPMAP_LINEAR
  150. magFilter = LINEAR
  151. }
  152. sampler u_normalmapTexture
  153. {
  154. path = res/png/brickn.png
  155. mipmap = true
  156. wrapS = REPEAT
  157. wrapT = REPEAT
  158. minFilter = NEAREST_MIPMAP_LINEAR
  159. magFilter = LINEAR
  160. }
  161. // render state
  162. renderState
  163. {
  164. cullFace = true
  165. depthTest = true
  166. }
  167. }
  168. }
  169. technique spot
  170. {
  171. pass 0
  172. {
  173. // shaders
  174. vertexShader = res/shaders/textured.vert
  175. fragmentShader = res/shaders/textured.frag
  176. defines = TEXTURE_REPEAT;SPOT_LIGHT_COUNT 1
  177. // uniforms
  178. u_worldViewMatrix = WORLD_VIEW_MATRIX
  179. u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX
  180. u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX
  181. // samplers
  182. sampler u_diffuseTexture
  183. {
  184. path = res/png/brick.png
  185. mipmap = true
  186. wrapS = REPEAT
  187. wrapT = REPEAT
  188. minFilter = NEAREST_MIPMAP_LINEAR
  189. magFilter = LINEAR
  190. }
  191. // render state
  192. renderState
  193. {
  194. cullFace = true
  195. depthTest = true
  196. }
  197. }
  198. }
  199. technique spotSpecular
  200. {
  201. pass 0
  202. {
  203. // shaders
  204. vertexShader = res/shaders/textured.vert
  205. fragmentShader = res/shaders/textured.frag
  206. defines = TEXTURE_REPEAT;SPECULAR;SPOT_LIGHT_COUNT 1
  207. // uniforms
  208. u_worldViewMatrix = WORLD_VIEW_MATRIX
  209. u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX
  210. u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX
  211. // samplers
  212. sampler u_diffuseTexture
  213. {
  214. path = res/png/brick.png
  215. mipmap = true
  216. wrapS = REPEAT
  217. wrapT = REPEAT
  218. minFilter = NEAREST_MIPMAP_LINEAR
  219. magFilter = LINEAR
  220. }
  221. // render state
  222. renderState
  223. {
  224. cullFace = true
  225. depthTest = true
  226. }
  227. }
  228. }
  229. technique spotBumped
  230. {
  231. pass 0
  232. {
  233. // shaders
  234. vertexShader = res/shaders/textured.vert
  235. fragmentShader = res/shaders/textured.frag
  236. defines = TEXTURE_REPEAT;BUMPED;SPOT_LIGHT_COUNT 1
  237. // uniforms
  238. u_worldViewMatrix = WORLD_VIEW_MATRIX
  239. u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX
  240. u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX
  241. // samplers
  242. sampler u_diffuseTexture
  243. {
  244. path = res/png/brick.png
  245. mipmap = true
  246. wrapS = REPEAT
  247. wrapT = REPEAT
  248. minFilter = NEAREST_MIPMAP_LINEAR
  249. magFilter = LINEAR
  250. }
  251. sampler u_normalmapTexture
  252. {
  253. path = res/png/brickn.png
  254. mipmap = true
  255. wrapS = REPEAT
  256. wrapT = REPEAT
  257. minFilter = NEAREST_MIPMAP_LINEAR
  258. magFilter = LINEAR
  259. }
  260. // render state
  261. renderState
  262. {
  263. cullFace = true
  264. depthTest = true
  265. }
  266. }
  267. }
  268. technique spotSpecularBumped
  269. {
  270. pass 0
  271. {
  272. // shaders
  273. vertexShader = res/shaders/textured.vert
  274. fragmentShader = res/shaders/textured.frag
  275. defines = TEXTURE_REPEAT;SPECULAR;BUMPED;SPOT_LIGHT_COUNT 1
  276. // uniforms
  277. u_cameraPosition = CAMERA_VIEW_POSITION
  278. u_worldViewMatrix = WORLD_VIEW_MATRIX
  279. u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX
  280. u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX
  281. // samplers
  282. sampler u_diffuseTexture
  283. {
  284. path = res/png/brick.png
  285. mipmap = true
  286. wrapS = REPEAT
  287. wrapT = REPEAT
  288. minFilter = NEAREST_MIPMAP_LINEAR
  289. magFilter = LINEAR
  290. }
  291. sampler u_normalmapTexture
  292. {
  293. path = res/png/brickn.png
  294. mipmap = true
  295. wrapS = REPEAT
  296. wrapT = REPEAT
  297. minFilter = NEAREST_MIPMAP_LINEAR
  298. magFilter = LINEAR
  299. }
  300. // render state
  301. renderState
  302. {
  303. cullFace = true
  304. depthTest = true
  305. }
  306. }
  307. }
  308. technique point
  309. {
  310. pass 0
  311. {
  312. // shaders
  313. vertexShader = res/shaders/textured.vert
  314. fragmentShader = res/shaders/textured.frag
  315. defines = TEXTURE_REPEAT;POINT_LIGHT_COUNT 1
  316. // uniforms
  317. u_worldViewMatrix = WORLD_VIEW_MATRIX
  318. u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX
  319. u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX
  320. // samplers
  321. sampler u_diffuseTexture
  322. {
  323. path = res/png/brick.png
  324. mipmap = true
  325. wrapS = REPEAT
  326. wrapT = REPEAT
  327. minFilter = NEAREST_MIPMAP_LINEAR
  328. magFilter = LINEAR
  329. }
  330. // render state
  331. renderState
  332. {
  333. cullFace = true
  334. depthTest = true
  335. }
  336. }
  337. }
  338. technique pointSpecular
  339. {
  340. pass 0
  341. {
  342. // shaders
  343. vertexShader = res/shaders/textured.vert
  344. fragmentShader = res/shaders/textured.frag
  345. defines = TEXTURE_REPEAT;SPECULAR;POINT_LIGHT_COUNT 1
  346. // uniforms
  347. u_cameraPosition = CAMERA_VIEW_POSITION
  348. u_worldViewMatrix = WORLD_VIEW_MATRIX
  349. u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX
  350. u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX
  351. // samplers
  352. sampler u_diffuseTexture
  353. {
  354. path = res/png/brick.png
  355. mipmap = true
  356. wrapS = REPEAT
  357. wrapT = REPEAT
  358. minFilter = NEAREST_MIPMAP_LINEAR
  359. magFilter = LINEAR
  360. }
  361. // render state
  362. renderState
  363. {
  364. cullFace = true
  365. depthTest = true
  366. }
  367. }
  368. }
  369. technique pointBumped
  370. {
  371. pass 0
  372. {
  373. // shaders
  374. vertexShader = res/shaders/textured.vert
  375. fragmentShader = res/shaders/textured.frag
  376. defines = TEXTURE_REPEAT;BUMPED;POINT_LIGHT_COUNT 1
  377. // uniforms
  378. u_worldViewMatrix = WORLD_VIEW_MATRIX
  379. u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX
  380. u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX
  381. // samplers
  382. sampler u_diffuseTexture
  383. {
  384. path = res/png/brick.png
  385. mipmap = true
  386. wrapS = REPEAT
  387. wrapT = REPEAT
  388. minFilter = NEAREST_MIPMAP_LINEAR
  389. magFilter = LINEAR
  390. }
  391. sampler u_normalmapTexture
  392. {
  393. path = res/png/brickn.png
  394. mipmap = true
  395. wrapS = REPEAT
  396. wrapT = REPEAT
  397. minFilter = NEAREST_MIPMAP_LINEAR
  398. magFilter = LINEAR
  399. }
  400. // render state
  401. renderState
  402. {
  403. cullFace = true
  404. depthTest = true
  405. }
  406. }
  407. }
  408. technique pointSpecularBumped
  409. {
  410. pass 0
  411. {
  412. // shaders
  413. vertexShader = res/shaders/textured.vert
  414. fragmentShader = res/shaders/textured.frag
  415. defines = TEXTURE_REPEAT;SPECULAR;BUMPED;POINT_LIGHT_COUNT 1
  416. // uniforms
  417. u_cameraPosition = CAMERA_VIEW_POSITION
  418. u_worldViewMatrix = WORLD_VIEW_MATRIX
  419. u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX
  420. u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX
  421. // samplers
  422. sampler u_diffuseTexture
  423. {
  424. path = res/png/brick.png
  425. mipmap = true
  426. wrapS = REPEAT
  427. wrapT = REPEAT
  428. minFilter = NEAREST_MIPMAP_LINEAR
  429. magFilter = LINEAR
  430. }
  431. sampler u_normalmapTexture
  432. {
  433. path = res/png/brickn.png
  434. mipmap = true
  435. wrapS = REPEAT
  436. wrapT = REPEAT
  437. minFilter = NEAREST_MIPMAP_LINEAR
  438. magFilter = LINEAR
  439. }
  440. // render state
  441. renderState
  442. {
  443. cullFace = true
  444. depthTest = true
  445. }
  446. }
  447. }
  448. }