light.material 13 KB

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