mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-03-24 04:17:03 +00:00
pipes: fixed bad shading because of full white overflow, more strict lengths, do not shade if not in perspective
This commit is contained in:
parent
894ee3ad8e
commit
5c302a4c52
@ -1236,7 +1236,9 @@ void geometry_information::make_3d_models() {
|
||||
}
|
||||
|
||||
hpcshape& geometry_information::generate_pipe(ld length, ld width, ePipeEnd endtype) {
|
||||
int id = int(length * 17 + .5) + int(157003 * log(width+.001));
|
||||
int id = int(length * 172 + .5) + int(157003 * log(width+.001));
|
||||
bool pers = in_perspective();
|
||||
if(!pers) id ^= 0x4126891;
|
||||
if(shPipe.count(id)) return shPipe[id];
|
||||
hpcshape& pipe = shPipe[id];
|
||||
println(hlog, "generating pipe of length ", length, " and width ", width);
|
||||
@ -1257,7 +1259,7 @@ hpcshape& geometry_information::generate_pipe(ld length, ld width, ePipeEnd endt
|
||||
ld alpha = 360 * degree * a / MAX_R;
|
||||
hpcpush(xpush(i * length / MAX_X) * cspin(1, 2, alpha) * ypush0(width*z));
|
||||
#if CAP_GL
|
||||
if(floor_textures) utt.tvertices.push_back(glhr::makevertex(0, 0.55 - s * 0.45 * sin(alpha), 0));
|
||||
if(floor_textures) utt.tvertices.push_back(glhr::makevertex(0, pers ? 0.549 - s * 0.45 * sin(alpha) : 0.999, 0));
|
||||
#endif
|
||||
};
|
||||
for(int i=0; i<MAX_X; i++) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user